You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hiram Chirino (JIRA)" <ji...@apache.org> on 2009/02/13 17:56:59 UTC

[jira] Resolved: (AMQ-2108) activemq-flow Deadlock in FlowController

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

Hiram Chirino resolved AMQ-2108.
--------------------------------

    Resolution: Fixed

applied.

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