Qpid c++ client always aborts while shutting down -------------------------------------------------
Key: QPID-3897 URL: https://issues.apache.org/jira/browse/QPID-3897 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.12 Environment: SUSE Linux Enterprise Server 10 SP1 (i586) Linux 2.6.16.46-0.12-bigsmp Reporter: Scrum Europe We are using qpid c++ client to connect to the broker. every time we try to stop our process, it results into Abort(). following is the trace just before we call exit() from our main thread: ================================================================= Thread 3 (Thread -1234519136 (LWP 22893)): #0 0xffffe410 in __kernel_vsyscall () #1 0xb7b492cc in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x0886b747 in qpid::sys::Condition::wait () #3 0x0886b986 in qpid::sys::Monitor::wait () #4 0x0892bae2 in qpid::sys::Timer::run () #5 0x088c221c in qpid::sys::(anonymous namespace)::runRunnable () #6 0xb7b452ab in start_thread () from /lib/libpthread.so.0 #7 0xb79b0a4e in clone () from /lib/libc.so.6 Thread 2 (Thread -1226126432 (LWP 22892)): #0 0xffffe410 in __kernel_vsyscall () #1 0xb79b11b6 in xdr_u_long () from /lib/libc.so.6 #2 0x088c4294 in qpid::sys::Poller::wait () #3 0x088c4a13 in qpid::sys::Poller::run () #4 0x088c221c in qpid::sys::(anonymous namespace)::runRunnable () #5 0xb7b452ab in start_thread () from /lib/libpthread.so.0 #6 0xb79b0a4e in clone () from /lib/libc.so.6 Thread 1 (Thread -1215440704 (LWP 22885)): # --> shutdown procedure from main() thread which will call exit(). <-- ================================================================= Thread 1(LWP 22885) is our main() thread. Thread 2(LWP 22892) No Idea. It was generated by qpid library. Thread 3(LWP 22893) is heartbeat thread created by qpid. NOW.... as soon as we execute exit() from main thread; Thread 2(LWP 22892) and Thread 3(LWP 22893) exits.... but Thread 1(LWP 22885) results into abort() with following trace: ================================================================= [Thread -1234519136 (LWP 22893) exited] [Thread -1226126432 (LWP 22892) exited] Invalid argument qpidClient: ../include/qpid/sys/posix/Mutex.h:116: void qpid::sys::Mutex::lock(): Assertion `0' failed. Program received signal SIGABRT, Aborted. 0xffffe410 in __kernel_vsyscall () #0 0xffffe410 in __kernel_vsyscall () #1 0xb791a8d0 in raise () from /lib/libc.so.6 #2 0xb791bff3 in abort () from /lib/libc.so.6 #3 0xb791401b in __assert_fail () from /lib/libc.so.6 #4 0x0883ad40 in qpid::sys::Mutex::lock () #5 0x0883ad5b in qpid::sys::ScopedLock<qpid::sys::Mutex>::ScopedLock () #6 0x088c86d7 in qpid::sys::DeletionManager<qpid::sys::PollerHandlePrivate>::AllThreadsStatuses::~AllThreadsStatuses () #7 --> shutdown procedure from main() thread after calling exit(). <-- ================================================================= This is reproducible every time. We make sure that we call sender.close(), receiver.close(), session.close() and connection.close() proerly before exiting. Please Help.... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org