[ 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(Object).wait() line: 199 [local variables unavailable] > FlowController.waitForResume() line: 372 > FlowController.blockSource(ISourceController) line: 315 > FlowController.add(E, ISourceController) line: 229 > PriorityFlowController.add(E, ISourceController) line: 60 > ExclusivePriorityQueue.add(E, ISourceController) line: 66 > Router.route(ISourceController, Message) line: 30 > RemoteConnection$1.flowElemAccepted(ISourceController, Message) line: 92 > RemoteConnection$1.flowElemAccepted(ISourceController, Object) line: 1 > FlowController.offer(E, ISourceController) line: 266 > RemoteConnection.onCommand(Object) line: 73 > PipeTransportFactory$PipeTransport.run() line: 66 > Thread.run() line: 788 > Thread [consumer1-outbound] (Suspended) > FlowController.onFlowResume(ISinkController) 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.