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)