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

Ken Giusti updated QPID-2045:
-----------------------------

    Attachment: federation.patch

diff against qpid/cpp/src/tests/federation.py test script - includes my test 
which causes the crash.

> crash when destroying a federation link with a dynamic bridge
> -------------------------------------------------------------
>
>                 Key: QPID-2045
>                 URL: https://issues.apache.org/jira/browse/QPID-2045
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>         Environment: fedora core 11
>            Reporter: Ken Giusti
>         Attachments: federation.patch
>
>
> While experimenting with the Federation tests, I managed to cause a crash in 
> the broker.  My modified test creates two bridges, but only calls 
> "bridge.close()" on one of the bridges.  This results in a broker crash.  I 
> will attach my test shortly.  I am running the latest trunk as of today 
> (8/11/2009).  Thanks,
> -K
> ----
> pure virtual method called
> terminate called without an active exception
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 0x7ffff5001910 (LWP 8354)]
> 0x00007ffff65032f5 in raise () from /lib64/libc.so.6
> Missing separate debuginfos, use: debuginfo-install 
> boost-1.37.0-6.fc11.x86_64 cyrus-sasl-lib-2.1.22-22.fc11.x86_64 
> e2fsprogs-libs-1.41.4-12.fc11.x86_64 glibc-2.10.1-4.x86_64 
> libgcc-4.4.0-4.x86_64 libstdc++-4.4.0-4.x86_64 
> nss-softokn-freebl-3.12.3.99.3-2.11.3.fc11.x86_64
> (gdb) where
> warning: (Internal error: pc 0x7ffff76e55de in read in psymtab, but not in 
> symtab.)
> warning: (Internal error: pc 0x7ffff76e55de in read in psymtab, but not in 
> symtab.)
> warning: (Internal error: pc 0x7ffff76e5590 in read in psymtab, but not in 
> symtab.)
> #0  0x00007ffff65032f5 in raise () from /lib64/libc.so.6
> #1  0x00007ffff6504b20 in abort () from /lib64/libc.so.6
> #2  0x0000003d972c3e15 in __gnu_cxx::__verbose_terminate_handler() () from 
> /usr/lib64/libstdc++.so.6
> #3  0x0000003d972c2236 in ?? () from /usr/lib64/libstdc++.so.6
> #4  0x0000003d972c2263 in std::terminate() () from /usr/lib64/libstdc++.so.6
> #5  0x0000003d972c2b3f in __cxa_pure_virtual () from /usr/lib64/libstdc++.so.6
> #6  0x00007ffff7abd565 in qpid::broker::Exchange::propagateFedOp 
> (this=0x7ffff0034620, routingKey="ft-key.one.#", tags="", op="U", origin="") 
> at qpid/broker/Exchange.cpp:237
> #7  0x00007ffff7b34975 in qpid::broker::TopicExchange::unbind (this=<value 
> optimized out>, queue=<value optimized out>, constRoutingKey=<value optimized 
> out>) at qpid/broker/TopicExchange.cpp:267
> #8  0x00007ffff7af6911 in qpid::broker::QueueBindings::unbind 
> (this=0x7ffff0040058, exchanges=<value optimized out>, queue={px = 
> 0x7ffff003fe10, pn = {pi_ = 0x7ffff003b370}}) at 
> qpid/broker/QueueBindings.cpp:39
> #9  0x00007ffff7aed1be in qpid::broker::Queue::unbind (this=<value optimized 
> out>, exchang...@0x20a2, shared_ref=<value optimized out>) at 
> qpid/broker/Queue.cpp:849
> #10 0x00007ffff7aed390 in qpid::broker::Queue::tryAutoDelete 
> (brok...@0x629bb0, queue={px = 0x7ffff003fe10, pn = {pi_ = 0x7ffff003b370}}) 
> at qpid/broker/Queue.cpp:927
> #11 0x00007ffff7b0e728 in qpid::broker::SemanticState::cancel (this=<value 
> optimized out>, c=<value optimized out>) at qpid/broker/SemanticState.cpp:342
> #12 0x00007ffff7b12726 in qpid::broker::SemanticState::~SemanticState 
> (this=0x7ffff00340c8, __in_chrg=<value optimized out>) at 
> qpid/broker/SemanticState.cpp:73
> #13 0x00007ffff7b2f858 in qpid::broker::SessionState::~SessionState 
> (this=0x7ffff0033ef0, __in_chrg=<value optimized out>) at 
> qpid/broker/SessionState.cpp:96
> #14 0x00007ffff7b2825a in ~auto_ptr (this=<value optimized out>, 
> __in_chrg=<value optimized out>) at 
> /usr/lib/gcc/x86_64-redhat-linux/4.4.0/../../../../include/c++/4.4.0/backward/auto_ptr.h:168
> #15 qpid::broker::SessionHandler::handleDetach (this=<value optimized out>, 
> __in_chrg=<value optimized out>) at qpid/broker/SessionHandler.cpp:70
> #16 0x00007ffff76e478a in qpid::amqp_0_10::SessionHandler::detach 
> (this=0x7ffff0000b40, name="test-session") at 
> qpid/amqp_0_10/SessionHandler.cpp:176
> #17 0x00007ffff76a5e33 in 
> qpid::framing::SessionDetachBody::invoke<qpid::framing::AMQP_AllOperations::SessionHandler>
>  (invocable=<value optimized out>, this=<value optimized out>) at 
> ../include/qpid/framing/SessionDetachBody.h:63
> #18 qpid::framing::AMQP_AllOperations::SessionHandler::Invoker::visit 
> (invocable=<value optimized out>, this=<value optimized out>) at 
> qpid/framing/AllInvoker.cpp:744
> #19 0x00007ffff76e55df in 
> qpid::framing::invoke<qpid::amqp_0_10::SessionHandler> (target=<value 
> optimized out>, bo...@0x6) at ./qpid/framing/Invoker.h:67
> #20 0x00007ffff76e1765 in qpid::amqp_0_10::SessionHandler::invoke (this=0x0, 
> m...@0x6) at qpid/amqp_0_10/SessionHandler.cpp:72
> #21 0x00007ffff76e2c00 in qpid::amqp_0_10::SessionHandler::handleIn 
> (this=0x7ffff0000b40, f...@0x7ffff50004d0) at 
> qpid/amqp_0_10/SessionHandler.cpp:82
> #22 0x00007ffff7a9ab23 in 
> qpid::framing::Handler<qpid::framing::AMQFrame&>::operator() (t=<value 
> optimized out>, this=<value optimized out>) at ./qpid/framing/Handler.h:42
> #23 qpid::broker::Connection::received (t=<value optimized out>, this=<value 
> optimized out>) at qpid/broker/Connection.cpp:136
> #24 0x00007ffff7a7e8e8 in qpid::amqp_0_10::Connection::decode 
> (this=0x7ffff00012a0, buffer=<value optimized out>, size=<value optimized 
> out>) at qpid/amqp_0_10/Connection.cpp:58
> #25 0x00007ffff770c0b4 in qpid::sys::AsynchIOHandler::readbuff 
> (this=0x7ffff00356d0, buff=0x7ffff0043530) at qpid/sys/AsynchIOHandler.cpp:113
> #26 0x00007ffff7657c44 in boost::function2<bool, qpid::sys::AsynchIO&, 
> qpid::sys::AsynchIOBufferBase*>::operator() (this=<value optimized out>, 
> a...@0x20a2, a1=0x6) at /usr/include/boost/function/function_template.hpp:989
> #27 0x00007ffff7655e29 in qpid::sys::posix::AsynchIO::readable 
> (this=0x7ffff0035d60, h=<value optimized out>) at 
> qpid/sys/posix/AsynchIO.cpp:452
> #28 0x00007ffff7712b74 in boost::function1<void, 
> qpid::sys::DispatchHandle&>::operator() (this=<value optimized out>, 
> a...@0x20a2) at /usr/include/boost/function/function_template.hpp:989
> #29 0x00007ffff770f8ac in qpid::sys::DispatchHandle::processEvent 
> (this=0x7ffff0035d68, type=qpid::sys::Poller::READABLE) at 
> qpid/sys/DispatchHandle.cpp:278
> #30 0x00007ffff766316a in qpid::sys::Poller::Event::process (this=<value 
> optimized out>) at ./qpid/sys/Poller.h:123
> #31 qpid::sys::Poller::run (this=<value optimized out>) at 
> qpid/sys/epoll/EpollPoller.cpp:476
> #32 0x00007ffff7659baa in qpid::sys::(anonymous namespace)::runRunnable 
> (p=0x209e) at qpid/sys/posix/Thread.cpp:35
> #33 0x00007ffff62ba86a in start_thread () from /lib64/libpthread.so.0
> #34 0x00007ffff65ae39d in clone () from /lib64/libc.so.6
> #35 0x0000000000000000 in ?? ()
> (gdb) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to