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

Keith Wall closed QPID-7835.
----------------------------
    Resolution: Cannot Reproduce

> dead lock error
> ---------------
>
>                 Key: QPID-7835
>                 URL: https://issues.apache.org/jira/browse/QPID-7835
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.24
>            Reporter: hanfeng
>         Attachments: jstack.txt
>
>
> When the message server links over time, a message is sent, the caller to 
> perceive the message send timeout, take the initiative to close the session, 
> at the same time links are perceived to request timeout to shut down 
> connection, re link the message server.
> When the link function of doClose to get off the lock _failoverMutex, but did 
> not get a specific lock _messageDeliveryLock to close the session, close the 
> session function close to get to the _messageDeliveryLock _failoverMutex 
> lock, lock wait for link
> Deadlock.
> Modification method.
> In session's close function, add a judgment that you are closing session.
>   public void close(long timeout) throws JMSException
>       {
>       {color:red}     if (super.isClosing()) return ;{color}
>         setClosing(true);
>         lockMessageDelivery();
>         try
>         {
>             // We must close down all producers and consumers in an orderly 
> fashion. This is the only method
>             // that can be called from a different thread of control from the 
> one controlling the session.
>             synchronized (getFailoverMutex())
>             {
>                 close(timeout, true);
>             }
>         }
>         finally
>         {
>             unlockMessageDelivery();
>         }
>     }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to