You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ken Giusti (Updated) (JIRA)" <ji...@apache.org> on 2011/11/28 22:53:40 UTC

[jira] [Updated] (QPID-3648) On shutdown, broker can crash if v1 QMF agents are currently attached.

     [ https://issues.apache.org/jira/browse/QPID-3648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ken Giusti updated QPID-3648:
-----------------------------

    Attachment: qpid-3648.patch

proposed fix.
                
> On shutdown, broker can crash if v1 QMF agents are currently attached.
> ----------------------------------------------------------------------
>
>                 Key: QPID-3648
>                 URL: https://issues.apache.org/jira/browse/QPID-3648
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.10, 0.12, 0.14
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Trivial
>             Fix For: 0.15
>
>         Attachments: qpid-3648.patch
>
>
> 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

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org