Bug 500822
Summary: | clustered qpidd segfault in management thread due to unclean shutdown on aborted cluster node | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Frantisek Reznicek <freznice> | ||||||
Component: | qpid-cpp | Assignee: | Ted Ross <tross> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Frantisek Reznicek <freznice> | ||||||
Severity: | urgent | Docs Contact: | |||||||
Priority: | high | ||||||||
Version: | 1.1.1 | CC: | esammons, gsim, tross | ||||||
Target Milestone: | 1.1.2 | ||||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2009-06-12 17:39:38 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: | |||||||||
Attachments: |
|
Description
Frantisek Reznicek
2009-05-14 12:22:14 UTC
Created attachment 343956 [details] bz499872 reproducer, which can be used to reproduce this issue mrg3.lab.bos.redhat.com:/root/bz499872_fail_rhel53_x86_64_090514.tar.bz2 full detail data just uploaded (include core files, detailed qpidd logs, qpidd journals and reproducer). use './run.sh 10' to run that. Feel free to change target milestone (currently 1.1.2) if needed. Possibly related? (gdb) bt #0 0x0000003c52e30215 in raise () from /lib64/libc.so.6 #1 0x0000003c52e31cc0 in abort () from /lib64/libc.so.6 #2 0x0000003c52e6a7fb in __libc_message () from /lib64/libc.so.6 #3 0x0000003c52e700b3 in malloc_consolidate () from /lib64/libc.so.6 #4 0x0000003c52e71a32 in _int_free () from /lib64/libc.so.6 #5 0x0000003c52e7590c in free () from /lib64/libc.so.6 #6 0x000000317229614e in ~Queue (this=<value optimized out>) at gen/qmf/org/apache/qpid/broker/Queue.cpp:74 #7 0x0000003172398a2f in ~ManagementBroker (this=<value optimized out>) at qpid/management/ManagementBroker.cpp:111 #8 0x0000003172397160 in ~Singleton (this=<value optimized out>) at qpid/management/ManagementBroker.cpp:66 #9 0x00000031722c9440 in ~Broker (this=<value optimized out>) at qpid/broker/Broker.cpp:341 #10 0x0000003c52e3363e in __cxa_finalize () from /lib64/libc.so.6 #11 0x0000003172288506 in __do_global_dtors_aux () from /usr/lib64/libqpidbroker.so.0 #12 0x0000000000000000 in ?? () #0 0x0000003c52e30215 in raise () from /lib64/libc.so.6 #1 0x0000003c52e31cc0 in abort () from /lib64/libc.so.6 #2 0x0000003c52e6a7fb in __libc_message () from /lib64/libc.so.6 #3 0x0000003c52e700b3 in malloc_consolidate () from /lib64/libc.so.6 #4 0x0000003c52e71a32 in _int_free () from /lib64/libc.so.6 #5 0x0000003c52e7590c in free () from /lib64/libc.so.6 #6 0x00000031723a32bc in std::_Rb_tree<qpid::management::ObjectId, std::pair<qpid::management::ObjectId const, qpid::management::ManagementObject*>, std::_Select1st<std::pair<qpid::management::ObjectId const, qpid::management::ManagementObject*> >, std::less<qpid::management::ObjectId>, std::allocator<std::pair<qpid::management::ObjectId const, qpid::management::ManagementObject*> > >::_M_erase (this=<value optimized out>, __x=<value optimized out>) at /usr/include/c++/4.1.2/ext/new_allocator.h:94 #7 0x0000003172398a4b in ~ManagementBroker (this=<value optimized out>) at /usr/include/c++/4.1.2/bits/stl_tree.h:692 #8 0x0000003172397160 in ~Singleton (this=<value optimized out>) at qpid/management/ManagementBroker.cpp:66 #9 0x00000031722c9440 in ~Broker (this=<value optimized out>) at qpid/broker/Broker.cpp:341 #10 0x0000003c52e3363e in __cxa_finalize () from /lib64/libc.so.6 #11 0x0000003172288506 in __do_global_dtors_aux () from /usr/lib64/libqpidbroker.so.0 #12 0x0000000000000000 in ?? () #0 0x0000003c52e30215 in raise () from /lib64/libc.so.6 #1 0x0000003c52e31cc0 in abort () from /lib64/libc.so.6 #2 0x0000003c52e6a7fb in __libc_message () from /lib64/libc.so.6 #3 0x0000003c52e700b3 in malloc_consolidate () from /lib64/libc.so.6 #4 0x0000003c52e71a32 in _int_free () from /lib64/libc.so.6 #5 0x0000003c52e7590c in free () from /lib64/libc.so.6 #6 0x0000003c57a9db6a in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string () from /usr/lib64/libstdc++.so.6 #7 0x00000031722bf2bf in ~Cluster (this=<value optimized out>) at gen/qmf/org/apache/qpid/cluster/Cluster.cpp:63 #8 0x0000003172398a2f in ~ManagementBroker (this=<value optimized out>) at qpid/management/ManagementBroker.cpp:111 #9 0x0000003172397160 in ~Singleton (this=<value optimized out>) at qpid/management/ManagementBroker.cpp:66 #10 0x00000031722c9440 in ~Broker (this=<value optimized out>) at qpid/broker/Broker.cpp:341 #11 0x0000003c52e3363e in __cxa_finalize () from /lib64/libc.so.6 #12 0x0000003172288506 in __do_global_dtors_aux () from /usr/lib64/libqpidbroker.so.0 #13 0x0000000000000000 in ?? () Created attachment 345800 [details]
Patch (off of svn revision 752581) that addresses a possibly-related shutdown issue
This patch fixes a problem in which the SignalHandler module holds a global, static intrusive_ptr to the Broker object. During non-signal-induced shutdown, this reference keeps the broker in-scope much longer than it is supposed to be for a clean shutdown.
I don't know if this fixes the problem in this BZ, but it might.
Believed fixed in qpidd-0.5.752581-10 The long running test of bug 502193 and bug 499872 together with extra test proved that issue has been fixed on RHEl 5.3 i386 / x86_64 on packages: [root@intel-greencity-01 bz499872]# rpm -qa | egrep '(qpid|openais)' | sort -u openais-0.80.3-22.el5_3.7 openais-debuginfo-0.80.3-22.el5_3.7 openais-devel-0.80.3-22.el5_3.7 python-qpid-0.5.752581-1.el5 qpidc-0.5.752581-10.el5 qpidc-debuginfo-0.5.752581-10.el5 qpidc-devel-0.5.752581-10.el5 qpidc-perftest-0.5.752581-10.el5 qpidc-rdma-0.5.752581-10.el5 qpidc-ssl-0.5.752581-10.el5 qpidd-0.5.752581-10.el5 qpidd-acl-0.5.752581-10.el5 qpidd-cluster-0.5.752581-10.el5 qpidd-devel-0.5.752581-10.el5 qpid-dotnet-0.4.738274-2.el5 qpidd-rdma-0.5.752581-10.el5 qpidd-ssl-0.5.752581-10.el5 qpidd-xml-0.5.752581-10.el5 qpid-java-client-0.5.751061-4.el5 qpid-java-common-0.5.751061-4.el5 -> VERIFIED An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2009-1097.html |