[ https://issues.apache.org/jira/browse/QPID-6416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chuck Rolke closed QPID-6416. ----------------------------- Resolution: Fixed In the example code the derived class (that contained the qpidmessaging objects) never had its destructor called. Adding a virtual destructor to the base class {noformat} virtual ~MsgPublisher() {} {noformat} gets MsgPublisher to call destructors on the derived objects. This in turn gets qpidmessaging to close it's internal threads in an orderly manner. * The reason that it happens intermittently is that there's a race. If the worker threads close before the main thread then everything is OK. If the main thread closes first then this crash happens. * The reason it does not happen in protocol version 0-10 is because threads are owned by a static singleton that is destroyed by the main thread only. An improvement in how threads are handled will be discussed in a separate issue. > Mutex.h:116: void qpid::sys::Mutex::lock(): Assertion `0' failed. - during > Messaging shutdown > --------------------------------------------------------------------------------------------- > > Key: QPID-6416 > URL: https://issues.apache.org/jira/browse/QPID-6416 > Project: Qpid > Issue Type: Bug > Components: C++ Client > Affects Versions: 0.31 > Environment: Raspberry Pi Pidora Linux 3.12.23-1 armv61 32-bit > Qpid / Proton trunk circa 2015-02-10 > Messaging client test program > Reporter: Chuck Rolke > Assignee: Chuck Rolke > Fix For: 0.31 > > Attachments: 6416-fails.cpp, 6416-works.cpp, QpidPublisher.cpp, > qpid-6416-bt.txt, testQpidFactory.cpp > > > The C++ code uses Qpid Messaging and fails with the summary message about > half the time. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org