qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajith Attapattu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-4574) [JMS] Deadlock involving _failoverMutex and _messageDeliveryLock
Date Fri, 08 Feb 2013 16:47:12 GMT

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

Rajith Attapattu updated QPID-4574:
-----------------------------------

    Attachment: Test_00782235.java

Reproducer supplied by Pavel Moravec.
Run the reproducer in a loop and you should see the deadlock manifesting.
                
> [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.14, 0.16, 0.18, 0.20
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>              Labels: deadlock
>             Fix For: 0.21
>
>         Attachments: Test_00782235.java
>
>
> 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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message