1 2 Previous Next 29 Replies Latest reply on Oct 31, 2005 4:13 PM by Elias Ross

    JBAS-2393 - ClassLoading Deadlock

    Adrian Brock Master

      The real problem here is classloading doing "arbitrary" callouts via
      unguarded debug logging.
      We have no idea what people attach to logging and what it might do.

      In this particular instance, the construction of a RepositoryClassLoader
      was not anticipated to be done at "runtime".
      In fact, it is used by the HierarchicalLoaderRepository to add a System
      classloader above the isolated classes.

      Aside: I don't see why this:

       // Include a class loader with a parent to the system class loader
       ClassLoader loader = RepositoryClassLoader.class.getClassLoader();
       RepositoryClassLoader ucl = null;
       if( loader instanceof RepositoryClassLoader )
       ucl = (RepositoryClassLoader) loader;
       else
       ucl = new UnifiedClassLoader3(null, null, HeirarchicalLoaderRepository3.this);
       PkgClassLoader pkgUcl = new PkgClassLoader(ucl, 3);
      

      can't be done once at HLR construction?


        1 2 Previous Next