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

Jason Dillaman updated QPID-3355:
---------------------------------

    Attachment: QPID-3355.patch

Patch to hold qpid::sys::Waitable::ScopedWait within waitForCompletion

> Client aborts when replaying sender after connection recovery
> -------------------------------------------------------------
>
>                 Key: QPID-3355
>                 URL: https://issues.apache.org/jira/browse/QPID-3355
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>    Affects Versions: 0.7, 0.10
>            Reporter: Jason Dillaman
>         Attachments: QPID-3355.patch
>
>
> There is a race condition between 
> qpid::client::SessionImpl::waitForCompletion and 
> qpid::client::SessionImpl::~SessionImpl.  If one thread is waiting for a
> completion and another thread causes the destructor for the session to be 
> invoked, the destructor can abort the client if waitForCompletion is still 
> holding the state mutex.  The reason this occurs is because waitForCompletion 
> is not holding a Waiter::ScopedWait, so the destructor completes while the
> mutex is still being held.  This was discovered when testing connection loss 
> and recovery.

--
This message is automatically generated by JIRA.
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-subscr...@qpid.apache.org

Reply via email to