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

Colin MacNaughton updated AMQ-2108:
-----------------------------------

    Attachment: AMQ2108patch.txt

Fix for issue

> activemq-flow Deadlock in FlowController
> ----------------------------------------
>
>                 Key: AMQ-2108
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2108
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: incubation
>         Environment: n/a
>            Reporter: Colin MacNaughton
>             Fix For: incubation
>
>         Attachments: AMQ2108patch.txt
>
>
> The following deadlock can occur in FlowController.offer(). FlowController 
> shouldn't hold onto the mutex when calling flowElementAccepted
> Thread [pipe://Broker#2] (Suspended)  
>       Object.wait(long, int) line: not available [native method]      
>       ExclusivePriorityQueue<E>(Object).wait() line: 199 [local variables 
> unavailable]        
>       FlowController<E>.waitForResume() line: 372     
>       FlowController<E>.blockSource(ISourceController<E>) line: 315   
>       FlowController<E>.add(E, ISourceController<E>) line: 229        
>       PriorityFlowController<E>.add(E, ISourceController<E>) line: 60 
>       ExclusivePriorityQueue<E>.add(E, ISourceController<E>) line: 66 
>       Router.route(ISourceController<Message>, Message) line: 30      
>       RemoteConnection$1.flowElemAccepted(ISourceController<Message>, 
> Message) line: 92       
>       RemoteConnection$1.flowElemAccepted(ISourceController, Object) line: 1  
>       FlowController<E>.offer(E, ISourceController<E>) line: 266      
>       RemoteConnection.onCommand(Object) line: 73     
>       PipeTransportFactory$PipeTransport.run() line: 66       
>       Thread.run() line: 788  
> Thread [consumer1-outbound] (Suspended)       
>       FlowController<E>.onFlowResume(ISinkController<E>) line: 136    
>       FlowController$2.run() line: 400        
>       IDispatcher$RunnableAdapter.dispatch() line: 90 
>       PriorityDispatcher$PriorityDispatchContext.dispatch() line: 183 
>       PriorityDispatcher.run() line: 263      
>       Thread.run() line: 788  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to