You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2013/08/01 17:53:54 UTC

[jira] [Resolved] (ARIES-896) Deadlock with blueprint services

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

Guillaume Nodet resolved ARIES-896.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: blueprint-core-1.2.0
    
> Deadlock with blueprint services
> --------------------------------
>
>                 Key: ARIES-896
>                 URL: https://issues.apache.org/jira/browse/ARIES-896
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>             Fix For: blueprint-core-1.0.1, blueprint-core-1.2.0
>
>
> {code}
> "Blueprint Extender: 3" daemon prio=5 tid=7febbc25b800 nid=0x10a56f000 in Object.wait() [10a56c000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	- waiting on <7e0099538> (a org.apache.felix.framework.ServiceRegistry)
> 	at java.lang.Object.wait(Object.java:485)
> 	at org.apache.felix.framework.ServiceRegistry.ungetService(ServiceRegistry.java:349)
> 	- locked <7e0099538> (a org.apache.felix.framework.ServiceRegistry)
> 	at org.apache.felix.framework.Felix.ungetService(Felix.java:3118)
> 	at org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:342)
> 	at org.apache.aries.blueprint.container.ReferenceRecipe.bind(ReferenceRecipe.java:142)
> 	- locked <7f9bd4c10> (a java.lang.Object)
> 	at org.apache.aries.blueprint.container.ReferenceRecipe.retrack(ReferenceRecipe.java:112)
> 	at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.updateListeners(AbstractServiceReferenceRecipe.java:319)
> 	at org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:91)
> 	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)
> 	- locked <7f9bd58a8> (a java.lang.Object)
> 	at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60)
> 	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)
> 	- locked <7f9bd58a8> (a java.lang.Object)
> 	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)
> 	- locked <7f9bd58a8> (a java.lang.Object)
> 	at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:198)
> 	at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:137)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.createRecipe(ServiceRecipe.java:370)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.createExplicitDependencies(ServiceRecipe.java:359)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:154)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.notifySatisfaction(BlueprintContainerImpl.java:604)
> 	- locked <7f9bd37e0> (a org.apache.aries.blueprint.container.ServiceRecipe)
> 	at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.setSatisfied(AbstractServiceReferenceRecipe.java:305)
> 	at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceAdded(AbstractServiceReferenceRecipe.java:262)
> 	at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceChanged(AbstractServiceReferenceRecipe.java:245)
> 	at org.apache.felix.framework.util.EventDispatcher$5.run(EventDispatcher.java:852)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:848)
> 	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:721)
> 	at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:649)
> 	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3857)
> 	at org.apache.felix.framework.Felix.access$000(Felix.java:89)
> 	at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:739)
> 	at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> 	at org.apache.felix.framework.Felix.registerService(Felix.java:2946)
> 	at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl$3.run(BlueprintContainerImpl.java:415)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl$3.run(BlueprintContainerImpl.java:413)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:413)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:184)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:654)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:233)
> 	- locked <7e02a0dc0> (a java.util.concurrent.atomic.AtomicBoolean)
> 	- locked <7e02a0db0> (a java.util.concurrent.atomic.AtomicBoolean)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	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:680)
> "Blueprint Extender: 1" daemon prio=5 tid=7febbb392000 nid=0x10a369000 waiting for monitor entry [10a366000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:247)
> 	- waiting to lock <7f9bd58a8> (a java.lang.Object)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.getService(ServiceRecipe.java:327)
> 	at org.apache.aries.blueprint.container.ServiceRecipe$TriggerServiceFactory.getService(ServiceRecipe.java:430)
> 	at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:310)
> 	at org.apache.felix.framework.ServiceRegistrationImpl.access$100(ServiceRegistrationImpl.java:37)
> 	at org.apache.felix.framework.ServiceRegistrationImpl$ServiceFactoryPrivileged.run(ServiceRegistrationImpl.java:374)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:216)
> 	at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:297)
> 	at org.apache.felix.framework.Felix.getService(Felix.java:3106)
> 	at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> 	at org.osgi.util.tracker.ServiceTracker.addingService(ServiceTracker.java:442)
> 	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
> 	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
> 	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
> 	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)
> 	at org.apache.felix.framework.util.EventDispatcher$5.run(EventDispatcher.java:852)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:848)
> 	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:721)
> 	at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:649)
> 	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3857)
> 	at org.apache.felix.framework.Felix.access$000(Felix.java:89)
> 	at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:739)
> 	at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> 	at org.apache.felix.framework.Felix.registerService(Felix.java:2946)
> 	at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl$3.run(BlueprintContainerImpl.java:415)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl$3.run(BlueprintContainerImpl.java:413)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:413)
> 	at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:184)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:654)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:233)
> 	- locked <7e02a13d8> (a java.util.concurrent.atomic.AtomicBoolean)
> 	- locked <7e02a13c8> (a java.util.concurrent.atomic.AtomicBoolean)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	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:680)
> {code}

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