Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
0.10, 0.12, 0.14
-
None
Description
Incorrect cleanup of remote agent objects may lead to a crash when the broker is shut down.
#0 0x006b0b6c in memcpy () from /lib/libc.so.6
#1 0x00423d04 in std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::_Rep::_M_clone(std::allocator<char> const&, unsigned
int) () from /usr/lib/libstdc++.so.6
#2 0x00424667 in std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) ()
from /usr/lib/libstdc++.so.6
#3 0x0565ce5f in ObjectId (this=0x9807498, __in_chrg=<value optimized out>)
at ../include/qpid/management/ManagementObject.h:51
#4 getObjectId (this=0x9807498, __in_chrg=<value optimized out>)
at ../include/qpid/management/ManagementObject.h:199
#5 qpid::management::ManagementAgent::RemoteAgent::~RemoteAgent
(this=0x9807498,
__in_chrg=<value optimized out>) at qpid/management/ManagementAgent.cpp:113
#6 0x056644e8 in
checked_delete<qpid::management::ManagementAgent::RemoteAgent> (
this=0x9806320) at /usr/include/boost/checked_delete.hpp:34
#7
boost::detail::sp_counted_impl_p<qpid::management::ManagementAgent::RemoteAgent>::dispose
(
this=0x9806320) at /usr/include/boost/detail/sp_counted_impl.hpp:76
#8 0x05664a18 in ~shared_count (this=0x98075c8, __in_chrg=<value optimized
out>)
at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:145
#9 ~shared_ptr (this=0x98075c8, __in_chrg=<value optimized out>)
at /usr/include/boost/shared_ptr.hpp:106
#10 std::pair<qpid::management::ObjectId const,
boost::shared_ptr<qpid::management::ManagementAgent::RemoteAgent> >::~pair
(this=0x98075c8, __in_chrg=<value optimized out>)
at /usr/include/c++/4.1.2/bits/stl_pair.h:69
#11 0x05656ed4 in _M_erase (this=0xb7542008, __in_chrg=<value optimized out>)
at /usr/include/c++/4.1.2/ext/new_allocator.h:107
#12 ~_Rb_tree (this=0xb7542008, __in_chrg=<value optimized out>)
at /usr/include/c++/4.1.2/bits/stl_tree.h:578
#13 ~map (this=0xb7542008, __in_chrg=<value optimized out>)
at /usr/include/c++/4.1.2/bits/stl_map.h:93
--Type <return> to continue, or q <return> to quit--
#14 qpid::management::ManagementAgent::~ManagementAgent (this=0xb7542008,
__in_chrg=<value optimized out>) at qpid/management/ManagementAgent.cpp:158
#15 0x05512552 in ~auto_ptr (this=0x970b708, __in_chrg=<value optimized out>)
at /usr/include/c++/4.1.2/memory:259
#16 qpid::broker::Broker::~Broker (this=0x970b708, __in_chrg=<value optimized
out>)
at qpid/broker/Broker.cpp:405
#17 0x0550b505 in qpid::RefCounted::released (this=0xa3b7e008) at
qpid/RefCounted.h:48
#18 0x05540630 in qpid::broker::Daemon::fork (this=0xbf8a5498) at
qpid/broker/Daemon.cpp:91
#19 0x0804e12d in QpiddBroker::execute (this=0xbf8a5725, options=0x9704520)
at posix/QpiddBroker.cpp:179
#20 0x0804c811 in main (argc=4, argv=0xbf8a57d4) at qpidd.cpp:80
(gdb