[ 
https://issues.apache.org/jira/browse/ARIES-962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guillaume Nodet resolved ARIES-962.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: blueprint-core-1.0.2

Fixed in http://svn.apache.org/viewvc?rev=1421113&view=rev

                
> Deadlock while stopping OSGi container
> --------------------------------------
>
>                 Key: ARIES-962
>                 URL: https://issues.apache.org/jira/browse/ARIES-962
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-1.0.1
>         Environment: Apache Karaf 2.3.0
>            Reporter: Victor Antonovich
>            Assignee: Guillaume Nodet
>             Fix For: blueprint-core-1.0.2
>
>
> OSGi container (Apache Karaf) hangs while stopping due to the deadlock with 
> next stacktrace:
> {quote}
> Found one Java-level deadlock:
> =============================
> "Blueprint Extender: 1":
>   waiting to lock monitor 0x00007f92a0003d98 (object 0x00000000e0995860, a 
> java.util.ArrayList),
>   which is held by "FelixStartLevel"
> "FelixStartLevel":
>   waiting to lock monitor 0x00007f92a0003cf0 (object 0x00000000e09960f0, a 
> java.lang.Object),
>   which is held by "Blueprint Extender: 1"
> Java stack information for the threads listed above:
> ===================================================
> "Blueprint Extender: 1":
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.getBestServiceReference(AbstractServiceReferenceRecipe.java:429)
>       - waiting to lock <0x00000000e0995860> (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 <0x00000000e09960f0> (a java.lang.Object)
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceRemoved(AbstractServiceReferenceRecipe.java:346)
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.access$200(AbstractServiceReferenceRecipe.java:71)
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$3.run(AbstractServiceReferenceRecipe.java:316)
>       at 
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> "FelixStartLevel":
>       at 
> org.apache.aries.blueprint.container.ReferenceRecipe.doStop(ReferenceRecipe.java:122)
>       - waiting to lock <0x00000000e09960f0> (a java.lang.Object)
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.stop(AbstractServiceReferenceRecipe.java:153)
>       - locked <0x00000000e0995860> (a java.util.ArrayList)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReference(BlueprintContainerImpl.java:594)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReferences(BlueprintContainerImpl.java:574)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:842)
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.destroyContext(BlueprintExtender.java:246)
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.bundleChanged(BlueprintExtender.java:238)
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.modifiedBundle(BlueprintExtender.java:434)
>       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:695)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
>       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4244)
>       at org.apache.felix.framework.Felix.stopBundle(Felix.java:2351)
>       at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1214)
>       at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
>       at java.lang.Thread.run(Thread.java:662)
> Found 1 deadlock.
> {quote}
> It seems like Apache Aries problem.

--
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