[ 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