You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org> on 2007/10/09 14:24:50 UTC

[jira] Updated: (QPID-626) AMQSession deadlocks

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

Aidan Skinner updated QPID-626:
-------------------------------

    Attachment: QPID-626.patch

Problem was due to lock-ordering, while it was consistent in AMQSession, FailoverHandler.run acquires the mutex before eventually calling AMQSession.closed(), resulting in the deadlock.

> AMQSession deadlocks
> --------------------
>
>                 Key: QPID-626
>                 URL: https://issues.apache.org/jira/browse/QPID-626
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2
>            Reporter: Aidan Skinner
>             Fix For: M2, M2.1, M3
>
>         Attachments: QPID-626.patch
>
>
> Ocassionally AMQSession can deadlock due to misordered lock acquisition eg. in  org.apache.qpid.test.unit.basic.LargeMessageTest
> Java stack information for the threads listed above:
> ===================================================
> "Failover":
>         at org.apache.qpid.client.AMQSession.closed(AMQSession.java:582)
>         - waiting to lock <0x00002aaae86a40c0> (a java.lang.Object)
>         at org.apache.qpid.client.AMQConnection.closeAllSessions(AMQConnection.java:872)
>         at org.apache.qpid.client.AMQConnection.exceptionReceived(AMQConnection.java:1152)
>         at org.apache.qpid.client.failover.FailoverHandler.run(FailoverHandler.java:180)
>         - locked <0x00002aaae86976f0> (a java.lang.Object)
>         at java.lang.Thread.run(Thread.java:619)
> "Dispatcher-Channel-1":
>         at org.apache.qpid.client.AMQSession.createTextMessage(AMQSession.java:1134)
>         - waiting to lock <0x00002aaae86976f0> (a java.lang.Object)
>         at org.apache.qpid.client.AMQSession.createTextMessage(AMQSession.java:1143)
>         at org.apache.qpid.test.unit.client.forwardall.Service.onMessage(Service.java:59)
>         at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:650)
>         at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:609)
>         at org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:2778)
>         at org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:2702)
>         - locked <0x00002aaae86a40c0> (a java.lang.Object)
>         - locked <0x00002aaae86b6a78> (a java.lang.Object)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.