Martin Lichtin created FELIX-4540:
-------------------------------------

             Summary: Deadlock in BundleWiringImpl$BundleClassLoader.loadClass
                 Key: FELIX-4540
                 URL: https://issues.apache.org/jira/browse/FELIX-4540
             Project: Felix
          Issue Type: Bug
         Environment: Karaf 2.3.4
            Reporter: Martin Lichtin


{noformat}
Found one Java-level deadlock:
=============================
"Pax Web Runtime worker":
  waiting to lock monitor 0x000000000b0a1438 (object 0x00000000fb585990, a 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5),
  which is held by "Thread-15"
"Thread-15":
  waiting to lock monitor 0x000000000b0a1388 (object 0x00000000f7681f70, a 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5),
  which is held by "Pax Web Runtime worker"

Java stack information for the threads listed above:
===================================================
"Pax Web Runtime worker":
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1836)
        - waiting to lock <0x00000000fb585990> (a 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at 
org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
        at 
org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1481)
        at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1427)
        at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at 
org.ops4j.pax.web.service.internal.Activator.updateController(Activator.java:247)
        at 
org.ops4j.pax.web.service.internal.Activator$DynamicsServiceTrackerCustomizer$1.run(Activator.java:376)
        at 
org.ops4j.pax.web.service.internal.Executor$Future.run(Executor.java:47)
        at 
org.ops4j.pax.web.service.internal.Executor$Worker.run(Executor.java:128)
"Thread-15":
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1836)
        - waiting to lock <0x00000000f7681f70> (a 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at 
org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
        at 
org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1481)
        at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1427)
        at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2128)
        - locked <0x00000000fb585990> (a 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5)
        at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
        at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at 
org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
        at 
org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1481)
        at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1427)
        at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at 
org.ops4j.pax.web.extender.whiteboard.internal.util.WebContainerUtils.webContainerAvailable(WebContainerUtils.java:46)
        at 
org.ops4j.pax.web.extender.whiteboard.internal.util.WebContainerUtils.<clinit>(WebContainerUtils.java:35)
        at 
org.ops4j.pax.web.extender.whiteboard.internal.Activator.start(Activator.java:78)
        at 
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1977)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1895)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:931)
        at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:488)
        at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:405)
        at 
org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:401)
        at 
org.apache.karaf.features.command.InstallFeatureCommand.doExecute(InstallFeatureCommand.java:62)
        at 
org.apache.karaf.features.command.FeaturesCommandSupport.doExecute(FeaturesCommandSupport.java:41)
        at 
org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)
        at 
org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
        at 
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
        at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)
        at 
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)
        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
        at 
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
        at org.apache.karaf.shell.console.jline.Console.run(Console.java:183)
        at java.lang.Thread.run(Thread.java:745)
        at 
org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$4.doRun(ShellFactoryImpl.java:144)
        at 
org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$4$1.run(ShellFactoryImpl.java:135)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at 
org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$4.run(ShellFactoryImpl.java:133)

Found 1 deadlock.
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to