Bug 582141
| Summary: | qpid c++ client library abort in ~Waitable called from ~ConnectionImpl when authenticating SASL PLAIN | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Frantisek Reznicek <freznice> |
| Component: | qpid-cpp | Assignee: | messaging-bugs <messaging-bugs> |
| Status: | CLOSED DUPLICATE | QA Contact: | MRG Quality Engineering <mrgqe-bugs> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | Development | CC: | esammons, gsim |
| Target Milestone: | 1.3 | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-04-15 21:57:31 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
*** This bug has been marked as a duplicate of bug 580824 *** |
Description of problem: There are observed aborts when c++ client (qc_client, perftest) runs against broker with SASL PLAIN authentication enabled: Thread 1 (Thread 13590): #0 0x0070d410 in __kernel_vsyscall () #1 0x0024fdf0 in raise () from /lib/libc.so.6 #2 0x00251701 in abort () from /lib/libc.so.6 #3 0x0044b5e4 in ~Waitable (this=0x83f67b0, __in_chrg=<value optimized out>) at ../include/qpid/sys/posix/Mutex.h:112 #4 ~Bounds (this=0x83f67b0, __in_chrg=<value optimized out>) at qpid/client/Bounds.h:29 #5 qpid::client::ConnectionImpl::~ConnectionImpl (this=0x83f67b0, __in_chrg=<value optimized out>) at qpid/client/ConnectionImpl.cpp:191 This abort defect is very close to the bug 582133. Seen on RHEL5.5 i386. Version-Release number of selected component (if applicable): cyrus-sasl-2.1.22-5.el5_4.3 cyrus-sasl-devel-2.1.22-5.el5_4.3 cyrus-sasl-devel-2.1.22-5.el5_4.3 cyrus-sasl-lib-2.1.22-5.el5_4.3 cyrus-sasl-lib-2.1.22-5.el5_4.3 cyrus-sasl-md5-2.1.22-5.el5_4.3 cyrus-sasl-plain-2.1.22-5.el5_4.3 cyrus-sasl-plain-2.1.22-5.el5_4.3 python-qmf-0.7.930108-1.el5 python-qpid-0.7.930108-1.el5 python-saslwrapper-0.1.897961-3.el5 qmf-0.7.929717-1.el5 qmf-devel-0.7.929717-1.el5 qpid-cpp-client-0.7.929717-1.el5 qpid-cpp-client-devel-0.7.929717-1.el5 qpid-cpp-client-devel-docs-0.7.929717-1.el5 qpid-cpp-client-ssl-0.7.929717-1.el5 qpid-cpp-mrg-debuginfo-0.7.929717-1.el5 qpid-cpp-server-0.7.929717-1.el5 qpid-cpp-server-cluster-0.7.929717-1.el5 qpid-cpp-server-devel-0.7.929717-1.el5 qpid-cpp-server-ssl-0.7.929717-1.el5 qpid-cpp-server-store-0.7.929717-1.el5 qpid-cpp-server-xml-0.7.929717-1.el5 qpid-java-client-0.7.918215-1.el5 qpid-java-common-0.7.918215-1.el5 qpid-tools-0.7.930108-1.el5 ruby-qpid-0.7.904654-1.el5 ruby-saslwrapper-0.1.897961-3.el5 saslwrapper-0.1.897961-3.el5 saslwrapper-devel-0.1.897961-3.el5 How reproducible: ~10% Steps to Reproduce: see steps of bug 582133 (perftest as reproducer) or bug 582136 (qc_client reproducer) Actual results: C++ client aborts. Expected results: C++ client should not abort Additional info: core.13590: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from 'qc_client' GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-23.el5) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu". For bug reporting instructions, please see: [New Thread 13593] warning: .dynamic section for "/usr/lib/libqpidcommon.so.2" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/lib/libresolv.so.2" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/usr/lib/libgssapi_krb5.so.2" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/usr/lib/libk5crypto.so.3" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/lib/libcom_err.so.2" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/lib/libselinux.so.1" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations Core was generated by `/root/MRG/Messaging/qpid_common/clients/c++/qc_client -p 27598 --password _I_fE'. Program terminated with signal 6, Aborted. #0 0x0070d410 in __kernel_vsyscall () (gdb) eax 0x0 0 ecx 0x3516 13590 edx 0x6 6 ebx 0x3516 13590 esp 0xbff5c044 0xbff5c044 ebp 0xbff5c05c 0xbff5c05c esi 0xbff5c0fc -1074413316 edi 0x368ff4 3575796 eip 0x70d410 0x70d410 <__kernel_vsyscall+16> eflags 0x202 [ IF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 st0 0 (raw 0x00000000000000000000) st1 0 (raw 0x00000000000000000000) st2 0 (raw 0x00000000000000000000) st3 0 (raw 0x00000000000000000000) st4 0 (raw 0x00000000000000000000) st5 0 (raw 0x00000000000000000000) st6 0 (raw 0x00000000000000000000) st7 0 (raw 0x00000000000000000000) fctrl 0x0 0 fstat 0x0 0 ftag 0x0 0 fiseg 0x0 0 fioff 0x0 0 foseg 0x0 0 fooff 0x0 0 fop 0x0 0 (gdb) Using memory regions provided by the target. There are no memory regions defined. (gdb) From To Syms Read Shared Object Library 0x00be3b40 0x00c4b584 Yes (*) /usr/lib/libboost_regex.so.2 0x009991d0 0x0099d324 Yes (*) /usr/lib/libboost_thread.so.2 0x00421ea0 0x004ee824 Yes (*) /usr/lib/libqpidclient.so.2 0x071dac50 0x07256134 Yes (*) /usr/lib/libstdc++.so.6 0x00372410 0x0038d594 Yes (*) /lib/libm.so.6 0x00b37660 0x00b3ef34 Yes (*) /lib/libgcc_s.so.1 0x0023cc80 0x00337c40 Yes (*) /lib/libc.so.6 0x007df8c0 0x008fdae4 Yes (*) /usr/lib/libqpidcommon.so.2 0x006bf970 0x006de524 Yes (*) /usr/lib/libboost_program_options.so.2 0x0057b3f0 0x006362b4 Yes (*) /usr/lib/libicui18n.so.36 0x009cf5e0 0x00a63544 Yes (*) /usr/lib/libicuuc.so.36 0x003ce880 0x003d2b04 Yes (*) /lib/librt.so.1 0x003a2210 0x003ada74 Yes (*) /lib/libpthread.so.0 0x077ccee0 0x077ce954 Yes (*) /lib/libuuid.so.1 0x002097f0 0x0021eebf Yes (*) /lib/ld-linux.so.2 0x006a39a0 0x006ac614 Yes (*) /usr/lib/libboost_filesystem.so.2 0x00398a50 0x00399a84 Yes (*) /lib/libdl.so.2 0x077da190 0x077ea774 Yes (*) /usr/lib/libsasl2.so.2 Yes (*) /usr/lib/libicudata.so.36 0x001120c0 0x0011d054 Yes (*) /lib/libresolv.so.2 0x074326e0 0x07439314 Yes (*) /lib/libcrypt.so.1 0x0012a050 0x001379f4 Yes (*) /usr/lib/qpid/client/sslconnector.so 0x00145760 0x0015eb74 Yes (*) /usr/lib/libsslcommon.so.2 0x04d7afc0 0x04e5ea04 Yes (*) /usr/lib/libnss3.so 0x04efb480 0x04f21664 Yes (*) /usr/lib/libssl3.so 0x04e9a7a0 0x04ebd3f4 Yes (*) /usr/lib/libnspr4.so 0x04d4db40 0x04d59284 Yes (*) /usr/lib/libnssutil3.so 0x04d64df0 0x04d66704 Yes (*) /usr/lib/libplc4.so 0x00204a30 0x002059a4 Yes (*) /usr/lib/libplds4.so 0x003b96a0 0x003c48d4 Yes (*) /usr/lib/libz.so.1 0x00dba8c0 0x00dc1264 Yes (*) /lib/libnss_files.so.2 0x00165b80 0x00167b74 Yes (*) /usr/lib/sasl2/libplain.so.2 0x0016ab80 0x0016ca04 Yes (*) /usr/lib/sasl2/libanonymous.so.2 0x001c30a0 0x001c7584 Yes (*) /usr/lib/sasl2/libgssapiv2.so.2 0x001763d0 0x00197374 Yes (*) /usr/lib/libgssapi_krb5.so.2 0x00c72160 0x00ce1884 Yes (*) /usr/lib/libkrb5.so.3 0x001cc790 0x001e4564 Yes (*) /usr/lib/libk5crypto.so.3 0x0019d7e0 0x0019df94 Yes (*) /lib/libcom_err.so.2 0x00b45960 0x00b4a1b4 Yes (*) /usr/lib/libkrb5support.so.0 0x00afa8d0 0x00afb014 Yes (*) /lib/libkeyutils.so.1 0x001a3530 0x001b0504 Yes (*) /lib/libselinux.so.1 0x00b4ff40 0x00b7de34 Yes (*) /lib/libsepol.so.1 0x00dd9a00 0x00e84094 Yes (*) /usr/lib/sasl2/libsasldb.so.2 0x001b8b70 0x001baa94 Yes (*) /usr/lib/sasl2/liblogin.so.2 (*): Shared library is missing debugging information. (gdb) 2 Thread 13593 0x0070d410 in __kernel_vsyscall () * 1 Thread 13590 0x0070d410 in __kernel_vsyscall () Thread 2 (Thread 13593): #0 0x0070d410 in __kernel_vsyscall () #1 0x002f9486 in epoll_wait () from /lib/libc.so.6 #2 0x008014ca in qpid::sys::Poller::wait (this=0x83f6240, timeout=...) at qpid/sys/epoll/EpollPoller.cpp:524 #3 0x00802036 in qpid::sys::Poller::run (this=0x83f6240) at qpid/sys/epoll/EpollPoller.cpp:479 #4 0x007f6d21 in qpid::sys::(anonymous namespace)::runRunnable (p=0x83f6240) at qpid/sys/posix/Thread.cpp:35 #5 0x003a3832 in start_thread () from /lib/libpthread.so.0 #6 0x002f8e0e in clone () from /lib/libc.so.6 Thread 1 (Thread 13590): #0 0x0070d410 in __kernel_vsyscall () #1 0x0024fdf0 in raise () from /lib/libc.so.6 #2 0x00251701 in abort () from /lib/libc.so.6 #3 0x0044b5e4 in ~Waitable (this=0x83f67b0, __in_chrg=<value optimized out>) at ../include/qpid/sys/posix/Mutex.h:112 #4 ~Bounds (this=0x83f67b0, __in_chrg=<value optimized out>) at qpid/client/Bounds.h:29 #5 qpid::client::ConnectionImpl::~ConnectionImpl (this=0x83f67b0, __in_chrg=<value optimized out>) at qpid/client/ConnectionImpl.cpp:191 #6 0x0043cdd8 in checked_delete<qpid::client::ConnectionImpl> (this=0x83f6210) at /usr/include/boost/checked_delete.hpp:34 #7 boost::detail::sp_counted_impl_p<qpid::client::ConnectionImpl>::dispose ( this=0x83f6210) at /usr/include/boost/detail/sp_counted_impl.hpp:76 #8 0x0043a93b in ~shared_count (this=0x83ff7e0, __in_chrg=<value optimized out>) at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:145 #9 ~shared_ptr (this=0x83ff7e0, __in_chrg=<value optimized out>) at /usr/include/boost/shared_ptr.hpp:106 #10 qpid::client::Connection::~Connection (this=0x83ff7e0, __in_chrg=<value optimized out>) at qpid/client/Connection.cpp:50 #11 0x0805be69 in qc_lib::qc_client<qc_lib::qc_optparser_client>::data_dealloc_sess_conn (this=0xbff5c2e4) at qc_client.hpp:295 #12 0x0805bf59 in qc_lib::qc_client<qc_lib::qc_optparser_client>::data_dealloc (this=0xbff5c2e4) at qc_client.hpp:269 #13 0x0805bfa6 in qc_lib::qc_client<qc_lib::qc_optparser_client>::~qc_client ( this=0xbff5c2e4, __in_chrg=<value optimized out>) at qc_client.hpp:234 #14 0x0804f990 in main (argc=Cannot access memory at address 0x3516 ) at qc_client.cpp:82 (gdb) quit