[jira] [Updated] (QPID-4574) [JMS] Deadlock involving _failoverMutex and _messageDeliveryLock
[ https://issues.apache.org/jira/browse/QPID-4574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Harvey updated QPID-4574: Description: 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.. {noformat} Dispatcher-0-Conn-1: at org.apache.qpid.client.BasicMessageProducer.send(BasicMessageProducer.java:309) - waiting to lock 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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) {noformat} was: 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 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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) [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: Future Attachments: Test_00782235.java This
[jira] [Updated] (QPID-4574) [JMS] Deadlock involving _failoverMutex and _messageDeliveryLock
[ https://issues.apache.org/jira/browse/QPID-4574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Harvey updated QPID-4574: Description: This deadlock can manifest when a you have a producer sending messages inside an onMessage() call, while another thread is either closing the session or the consumer. Sending a message inside onMessage() is a common enough pattern, and is used by intermediaries like Message Bridges, ESB's etc.. Here is an example stack trace, showing deadlock occuring when closing the consumer: {noformat} Dispatcher-0-Conn-1: at org.apache.qpid.client.BasicMessageProducer.send(BasicMessageProducer.java:309) - waiting to lock 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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) {noformat} was: 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.. {noformat} Dispatcher-0-Conn-1: at org.apache.qpid.client.BasicMessageProducer.send(BasicMessageProducer.java:309) - waiting to lock 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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) {noformat} [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,
[jira] [Updated] (QPID-4574) [JMS] Deadlock involving _failoverMutex and _messageDeliveryLock
[ https://issues.apache.org/jira/browse/QPID-4574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rajith Attapattu updated QPID-4574: --- Fix Version/s: (was: 0.21) Future [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: Future 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 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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
[jira] [Updated] (QPID-4574) [JMS] Deadlock involving _failoverMutex and _messageDeliveryLock
[ https://issues.apache.org/jira/browse/QPID-4574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rajith Attapattu updated QPID-4574: --- Labels: deadlock (was: ) [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 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 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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
[jira] [Updated] (QPID-4574) [JMS] Deadlock involving _failoverMutex and _messageDeliveryLock
[ 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 0xecfd15a8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd16d8 (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 0xecfd16c8 (a java.lang.Object) - locked 0xecfd15a8 (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