Vitalii Tymchyshyn created ARIES-989:
----------------------------------------

             Summary: Deadlock while stopping karaf
                 Key: ARIES-989
                 URL: https://issues.apache.org/jira/browse/ARIES-989
             Project: Aries
          Issue Type: Bug
    Affects Versions: 1.0
            Reporter: Vitalii Tymchyshyn


Found one Java-level deadlock:
=============================
"pool-org.apache.karaf.deployer.spring-2.3.0.fuse-71-038-thread-3":
  waiting to lock monitor 0x00007f6314010c00 (object 0x00000000e08f3428, a 
java.util.ArrayList),
  which is held by "FelixStartLevel"
"FelixStartLevel":
  waiting to lock monitor 0x00007f6314010ca8 (object 0x00000000e08f3498, a 
java.lang.Object),
  which is held by 
"pool-org.apache.karaf.deployer.spring-2.3.0.fuse-71-038-thread-3"

Java stack information for the threads listed above:
===================================================
"pool-org.apache.karaf.deployer.spring-2.3.0.fuse-71-038-thread-3":
        at 
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.getBestServiceReference(AbstractServiceReferenceRecipe.java:443)
        - waiting to lock <0x00000000e08f3428> (a java.util.ArrayList)
        at 
org.apache.aries.blueprint.container.ReferenceRecipe.retrack(ReferenceRecipe.java:128)
        at 
org.apache.aries.blueprint.container.ReferenceRecipe.untrack(ReferenceRecipe.java:151)
        - locked <0x00000000e08f3498> (a java.lang.Object)
        at 
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceRemoved(AbstractServiceReferenceRecipe.java:359)
        at 
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.access$200(AbstractServiceReferenceRecipe.java:71)
        at 
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$3.run(AbstractServiceReferenceRecipe.java:317)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
"FelixStartLevel":
        at 
org.apache.aries.blueprint.container.ReferenceRecipe.doStop(ReferenceRecipe.java:122)
        - waiting to lock <0x00000000e08f3498> (a java.lang.Object)
        at 
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.stop(AbstractServiceReferenceRecipe.java:153)
        - locked <0x00000000e08f3428> (a java.util.ArrayList)
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReference(BlueprintContainerImpl.java:597)
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReferences(BlueprintContainerImpl.java:577)
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:845)
        at 
org.apache.aries.blueprint.container.BlueprintExtender.destroyContext(BlueprintExtender.java:254)
        at 
org.apache.aries.blueprint.container.BlueprintExtender.bundleChanged(BlueprintExtender.java:246)
        at 
org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.modifiedBundle(BlueprintExtender.java:471)
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:198)
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:128)
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:468)
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:161)
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:117)
        at 
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
        at 
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)
        at 
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4479)
        at org.apache.felix.framework.Felix.stopBundle(Felix.java:2592)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1305)
        at 
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:298)
        at java.lang.Thread.run(Thread.java:679)

Found 1 deadlock.

Versions:
karaf@root> osgi:list |grep -i aries
[   8] [Active     ] [            ] [       ] [   20] Apache Aries Util (1.0.0)
[   9] [Active     ] [            ] [       ] [   20] Apache Aries Blueprint 
API (1.0.1.fuse-71-038)
[  10] [Active     ] [Created     ] [       ] [   20] Apache Aries Blueprint 
Core (1.0.1.fuse-71-038)
[  11] [Active     ] [            ] [       ] [   20] Apache Aries Proxy API 
(1.0.0)
[  12] [Active     ] [Created     ] [       ] [   20] Apache Aries Blueprint CM 
(1.0.1.fuse-71-038)
[  13] [Active     ] [            ] [       ] [   20] Apache Aries Proxy 
Service (1.0.0)
[  26] [Active     ] [            ] [       ] [   30] Apache Aries JMX API 
(1.0.1.fuse-71-038)
[  27] [Active     ] [            ] [       ] [   30] Apache Aries JMX 
Blueprint API (1.0.1.fuse-71-038)
[  33] [Active     ] [            ] [       ] [   30] Apache Aries JMX 
Blueprint Core (1.0.1.fuse-71-038)
[  43] [Active     ] [            ] [       ] [   30] Apache Aries JMX Core 
(1.0.1.fuse-71-038)
[ 101] [Active     ] [            ] [       ] [   60] Guava: Google Core 
Libraries for Java (13.0.0)
[ 208] [Active     ] [            ] [       ] [   30] Aries JPA Container API 
(1.0.0)
[ 209] [Active     ] [Created     ] [       ] [   30] Aries JPA Container 
blueprint integration for Aries blueprint (1.0.0)
[ 210] [Active     ] [            ] [       ] [   30] Aries JPA Container 
(1.0.0)
[ 211] [Active     ] [            ] [       ] [   30] Aries JPA Container 
Managed Contexts (1.0.0)
[ 212] [Active     ] [            ] [       ] [   30] Apache Aries JNDI API 
(1.0.0)
[ 213] [Active     ] [            ] [       ] [   30] Apache Aries JNDI Core 
(1.0.0)
[ 214] [Active     ] [            ] [       ] [   30] Apache Aries JNDI RMI 
Handler (1.0.0)
[ 215] [Active     ] [            ] [       ] [   30] Apache Aries JNDI URL 
Handler (1.0.0)
[ 216] [Active     ] [            ] [       ] [   30] Apache Aries JNDI Support 
for Legacy Runtimes (1.0.0)
[ 217] [Active     ] [Created     ] [       ] [   30] Apache Aries Transaction 
Blueprint (1.0.1.fuse-71-038)
[ 218] [Active     ] [            ] [       ] [   30] Apache Aries Transaction 
Manager (1.0.1.fuse-71-038)
[ 219] [Active     ] [Failure     ] [       ] [   30] Apache Aries Transaction 
Enlisting JDBC Datasource (1.0.1.fuse-71-038)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to