You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jason Dillaman (JIRA)" <ji...@apache.org> on 2011/07/12 23:51:00 UTC

[jira] [Updated] (QPID-3355) Client aborts when replaying sender after connection recovery

     [ 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-subscribe@qpid.apache.org