Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-3939

IllegalArgumentException from ClassLoader.definePackage

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • framework-4.2.0
    • framework-4.2.1
    • Framework
    • None
    • JDK 1.7

    Description

      Could parallel class loading feature implementation be the reason behind a recent regression that we are seeing in GlassFish as reported in [1]? The exception stack is like this:

      Caused by: java.lang.IllegalArgumentException: com.sun.xml.ws.transport.http.servlet
      at java.lang.ClassLoader.definePackage(ClassLoader.java:1601)
      at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2190)
      at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1472)
      at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
      at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1923)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
      at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1357)
      at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1598)
      at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1479)
      at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
      at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1923)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
      at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1832)
      at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)
      at org.jvnet.hk2.osgiadapter.OSGiModuleImpl$4$1.run(OSGiModuleImpl.java:434)
      at org.jvnet.hk2.osgiadapter.OSGiModuleImpl$4$1.run(OSGiModuleImpl.java:431)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.jvnet.hk2.osgiadapter.OSGiModuleImpl$4.loadClass(OSGiModuleImpl.java:431)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
      at com.sun.enterprise.v3.server.APIClassLoaderServiceImpl$APIClassLoader.loadClass(APIClassLoaderServiceImpl.java:238)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
      at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
      at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1579)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:363)
      at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
      at org.glassfish.web.loader.ServletContainerInitializerUtil.getInterestList(ServletContainerInitializerUtil.java:193)
      at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5955)
      at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:779)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:5888)

      IllegalArgumentException is thrown by ClassLoader.definePackage if package already exists as per javadoc of that method.

      [1] http://java.net/jira/browse/GLASSFISH-19712

      Attachments

        Activity

          People

            rickhall Richard S. Hall
            sahoo Sanjeeb Kumar Sahoo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: