Rajith Attapattu created QPID-4574:
--------------------------------------

             Summary: [JMS] Deadlock involving _failoverMutex and 
_messageDeliveryLock
                 Key: QPID-4574
                 URL: https://issues.apache.org/jira/browse/QPID-4574
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: 0.20, 0.18, 0.16, 0.14
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu
             Fix For: 0.21


This deadlock can manifest when a you have a producer sending messages inside 
an onMessage() call.
This is a common enough pattern, and is used by intermediaries like Message 
Bridges, ESB's etc..


"Dispatcher-0-Conn-1":
        at 
org.apache.qpid.client.BasicMessageProducer.send(BasicMessageProducer.java:309)
        - waiting to lock <0x00000000ecfd15a8> (a java.lang.Object)
        at Test_00782235$1.onMessage(Test_00782235.java:29)
        at 
org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:751)
        at 
org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:141)
        at 
org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:725)
        at 
org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:186)
        at 
org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:54)
        at 
org.apache.qpid.client.AMQSession$Dispatcher.notifyConsumer(AMQSession.java:3479)
        at 
org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:3418)
        - locked <0x00000000ecfd16c8> (a java.lang.Object)
        - locked <0x00000000ecfd16d8> (a java.lang.Object)
        at 
org.apache.qpid.client.AMQSession$Dispatcher.access$1000(AMQSession.java:3205)
        at org.apache.qpid.client.AMQSession.dispatch(AMQSession.java:3198)
        at 
org.apache.qpid.client.message.UnprocessedMessage.dispatch(UnprocessedMessage.java:54)
        at 
org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:3341)
        at java.lang.Thread.run(Thread.java:679)
"main":
        at 
org.apache.qpid.client.BasicMessageConsumer.close(BasicMessageConsumer.java:598)
        - waiting to lock <0x00000000ecfd16c8> (a java.lang.Object)
        - locked <0x00000000ecfd15a8> (a java.lang.Object)
        at 
org.apache.qpid.client.BasicMessageConsumer.close(BasicMessageConsumer.java:558)
        at Test_00782235.<init>(Test_00782235.java:62)
        at Test_00782235.main(Test_00782235.java:12)


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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to