Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C136411478 for ; Tue, 24 Jun 2014 13:54:26 +0000 (UTC) Received: (qmail 9835 invoked by uid 500); 24 Jun 2014 13:54:25 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 9733 invoked by uid 500); 24 Jun 2014 13:54:25 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 9556 invoked by uid 99); 24 Jun 2014 13:54:25 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Jun 2014 13:54:25 +0000 Date: Tue, 24 Jun 2014 13:54:25 +0000 (UTC) From: "Richard S. Hall (JIRA)" To: dev@felix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (FELIX-4540) Deadlock in BundleWiringImpl$BundleClassLoader.loadClass MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FELIX-4540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14042119#comment-14042119 ] Richard S. Hall edited comment on FELIX-4540 at 6/24/14 1:53 PM: ----------------------------------------------------------------- Just to cut to the chase, I'm guess that this is the standard JVM class loader deadlock issue. If you are on Java 7, then you should try upgrading your framework version since 4.0.3 does not take advantage of the parallel capable class loaders introduced in Java 7, but more recent framework versions do. was (Author: rickhall): Just to cut to the chase, I'm guess that this is the standard JVM class loader deadlock issue. If you are on Java 7, then you should try upgrading your framework version since 4.0.3 does not take advantage of the parallel capable class loaders introduced in Java, but more recent framework versions do. > Deadlock in BundleWiringImpl$BundleClassLoader.loadClass > -------------------------------------------------------- > > Key: FELIX-4540 > URL: https://issues.apache.org/jira/browse/FELIX-4540 > Project: Felix > Issue Type: Bug > Environment: java version "1.7.0_55" > Karaf 2.3.4, Felix 4.0.3 > 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.(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)