[ 
https://issues.apache.org/jira/browse/ARIES-1090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13710157#comment-13710157
 ] 

Paul Slater commented on ARIES-1090:
------------------------------------

locking ServiceRecipe object in BlueprintContainerImpl.notifySatisfaction() 
appears to only assure serialization of the ensuing processing rather than 
needing some sort of exclusion with the synchronization in ServiceRecipe.  
Therefore it should be ok to change the lock used in ServiceRecipe.
                
> ABBA deadlock in BP container between BlueprintContainerImpl and 
> ReferenceRecipe
> --------------------------------------------------------------------------------
>
>                 Key: ARIES-1090
>                 URL: https://issues.apache.org/jira/browse/ARIES-1090
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Paul Slater
>
> thread 1:
> Blocked on: java/lang/Object@0x00000000B00078C0 Owned by: "Blueprint 
> Extender: 2" Java callstack:
> at 
> org/apache/aries/blueprint/container/ReferenceRecipe.untrack(ReferenceRecipe.java:151(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/BlueprintContainerImpl.notifySatisfaction(BlueprintContainerImpl.java:623(Compiled
>  Code))
> (entered lock: 
> org/apache/aries/blueprint/container/ServiceRecipe@0x00000000AC3C94B8, entry 
> count: 1)
> <quiesce>
> Blueprint Extender: 2
> Blocked on: 
> org/apache/aries/blueprint/container/ServiceRecipe@0x00000000AC3C94B8 Owned 
> by: "thread 1"
> Java callstack:
> at 
> org/apache/aries/blueprint/container/ServiceRecipe.decrementActiveCalls(ServiceRecipe.java:468(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/QuiesceInterceptor.postCallWithReturn(QuiesceInterceptor.java:44(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/proxy/Collaborator.postInvoke(Collaborator.java:105(Compiled
>  Code))
> ...
> at 
> org/apache/aries/blueprint/utils/ReflectionUtils.invoke(ReflectionUtils.java:238(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:466(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe$Listener.bind(AbstractServiceReferenceRecipe.java:448(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.bind(AbstractServiceReferenceRecipe.java:345(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/ReferenceRecipe.bind(ReferenceRecipe.java:165(Compiled
>  Code))
> (entered lock: java/lang/Object@0x00000000B00078C0, entry count: 1)at 
> org/apache/aries/blueprint/container/ReferenceRecipe.retrack(ReferenceRecipe.java:132(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.updateListeners(AbstractServiceReferenceRecipe.java:337(Compiled
>  Code))
> ...
> at 
> org/apache/aries/blueprint/container/BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:648(Compiled
>  Code))
> at 
> org/apache/aries/blueprint/container/BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:340(Compiled
>  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

Reply via email to