You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (Updated) (JIRA)" <ji...@apache.org> on 2012/01/13 15:43:40 UTC

[jira] [Updated] (QPID-3697) SortedQueue synchronization causes deadlock

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

Keith Wall updated QPID-3697:
-----------------------------

    Status: Ready To Review  (was: In Progress)
    
> SortedQueue synchronization causes deadlock
> -------------------------------------------
>
>                 Key: QPID-3697
>                 URL: https://issues.apache.org/jira/browse/QPID-3697
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5, 0.15
>         Environment: All
>            Reporter: Philip Harvey
>            Assignee: Keith Wall
>
> We've seen a broker become unresponsive several times in Production.
> Analysis of a thread dump showed a deadlock between two threads, namely:
> - a thread that is calling SortedQueue.enqueue, which has already locked the SortedQueue and is trying to lock the Subscription's sendLock
> - a thread that is closing a session by calling AMQChannel.unsubscribeAllConsumers, which has already locked the Subscription's sendLock and is trying to lock the SortedQueue.
> The suggested fix is for SortedQueue.enqueue to not be synchronized, thereby removing the possibility of this deadlock occuring. SortedQueue.enqueue should instead lock on a private Object.
> Note that SortedQueue is the only queue that is susceptible to this deadlock because it is the only one that has a synchronized enqueue method.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org