You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <qp...@incubator.apache.org> on 2007/10/18 10:32:50 UTC

[jira] Resolved: (QPID-644) Broker core dump when running JMS tests

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

Gordon Sim resolved QPID-644.
-----------------------------

    Resolution: Fixed

Fixed by r585899. Problem was caused by a ranged ack for a single message that was no longerin the unacked list (the ultimate reason being that the java client sends every exeution.complete method twice); this resulted in iteration past the end of the list.

> Broker core dump when running JMS tests
> ---------------------------------------
>
>                 Key: QPID-644
>                 URL: https://issues.apache.org/jira/browse/QPID-644
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: M3
>         Environment: 0_10 c++ broker
>            Reporter: Arnaud Simon
>
> this is the backtrace:
> #0  qpid::framing::FrameSet::getContentSize (this=0x9d)
>     at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_iterator.h:650
> #1  0x00561712 in qpid::broker::Message::contentSize (this=0x1)
>     at qpid/broker/Message.cpp:200
> #2  0x00546316 in qpid::broker::DeliveryRecord::subtractFrom (this=0x9a4d47f0, 
>     prefetch=@0x9a4d47d8) at qpid/broker/DeliveryRecord.cpp:146
> #3  0x005830ef in qpid::broker::SemanticState::acknowledged (this=0x9a4d4798, 
>     delivery=@0x9a4d47f0) at qpid/broker/SemanticState.cpp:397
> #4  0x0058c1f1 in std::for_each<std::_List_iterator<qpid::broker::DeliveryRecord>, boost::_bi::bind_t<void, boost::_mfi::mf1<void, qpid::broker::SemanticState, qpid::broker::DeliveryRecord const&>, boost::_bi::list2<boost::_bi::value<qpid::broker::SemanticState*>, boost::arg<1> > > > (__first={_M_node = 0x9a4d47e8}, 
>     __last={_M_node = 0x9feb3f8}, __f=
>         {f_ = {f_ = {__pfn = 0x5830c0 <qpid::broker::SemanticState::acknowledged(qpid::broker::DeliveryRecord const&)>, __delta = 0}}, l_ = {a1_ = {t_ = 0x9a4d4798}, a2_ = {<No data fields>}}})
>     at /usr/include/boost/bind/mem_fn_template.hpp:149
> #5  0x005848f1 in qpid::broker::SemanticState::ack (this=0x9a4d4798, first=
>       {value = 2}, last={value = 2}, cumulative=false)
>     at qpid/broker/SemanticState.cpp:369
> #6  0x00584f83 in qpid::broker::SemanticState::ackRange (this=0x9a4d4798, 
>     first={value = 2}, last={value = 2}) at qpid/broker/SemanticState.cpp:349
> #7  0x00573e54 in boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, qpid::broker::SemanticState, qpid::framing::SequenceNumber, qpid::framing::SequenceNumber>, boost::_bi::list3<boost::_bi::value<qpid::broker::SemanticState*>, boost::arg<1>, boost::arg<2> > >, void, qpid::framing::SequenceNumber, qpid::framing::SequenceNumber>::invoke (
> ---Type <return> to continue, or q <return> to quit---
>     function_obj_ptr=
>       {obj_ptr = 0x9a4d3ff0, const_obj_ptr = 0x9a4d3ff0, func_ptr = 0x9a4d3ff0, data = "�"}, a0={value = 2}, a1={value = 2})
>     at /usr/include/boost/bind/mem_fn_template.hpp:252
> #8  0x0057559e in boost::function2<void, qpid::framing::SequenceNumber, qpid::framing::SequenceNumber, std::allocator<void> >::operator() (this=0x9a4d4898, a0=
>       {value = 2}, a1={value = 2})
>     at /usr/include/boost/function/function_template.hpp:576
> #9  0x00594833 in qpid::broker::SemanticHandler::complete (this=0x9a4d4788, 
>     cumulative=0, range=@0xbff75790) at ./qpid/framing/SequenceNumberSet.h:56
> #10 0x00c1b96b in qpid::framing::AMQP_ServerOperations::ExecutionHandler::Invoker::visit (this=0xbff75308, body=@0xbff75788)
>     at gen/qpid/framing/ExecutionCompleteBody.h:60
> #11 0x00c6a2eb in qpid::framing::ExecutionCompleteBody::accept (
>     this=0xbff75788, v=@0xbff75308)
>     at gen/qpid/framing/ExecutionCompleteBody.h:64
> #12 0x005971a7 in qpid::framing::invoke<qpid::broker::SemanticHandler> (
>     target=@0x9a4d4788, body=@0xbff75788) at ./qpid/framing/Invoker.h:67
> #13 0x00594973 in qpid::broker::SemanticHandler::handleL3 (this=0x9a4d4788, 
>     method=0xbff75788) at qpid/broker/SemanticHandler.cpp:141
> #14 0x00595bac in qpid::broker::SemanticHandler::handle (this=0x9a4d4788, 
>     frame=@0xbff75778) at qpid/broker/SemanticHandler.cpp:68
> #15 0x0058c28b in qpid::framing::Handler<qpid::framing::AMQFrame&>::Chain::handle (this=0x9a4d31f8, t=@0xbff75778) at ./qpid/framing/Handler.h:42
> #16 0x0059270b in qpid::broker::SessionHandler::handleIn (this=0x9a4d40d8, 
>     f=@0xbff75778) at ./qpid/framing/Handler.h:42
> #17 0x005933db in qpid::framing::Handler<qpid::framing::AMQFrame&>::MemFunRef<qpid::framing::Handler<qpid::framing::AMQFrame&>::InOutHandlerInterface, &(qpid::f---Type <return> to continue, or q <return> to quit---
> raming::Handler<qpid::framing::AMQFrame&>::InOutHandlerInterface::handleIn(qpid::framing::AMQFrame&))>::handle (this=0x9a4d40dc, t=@0xbff75778)
>     at ./qpid/framing/Handler.h:85
> #18 0x0053d74f in qpid::broker::Connection::received (this=0x9a4d41a0, 
>     frame=@0xbff75778) at ./qpid/framing/Handler.h:42
> #19 0x00cac7c9 in qpid::sys::AsynchIOHandler::readbuff (this=0x9a4a21a0, 
>     buff=0xa64f4b58) at qpid/sys/AsynchIOAcceptor.cpp:215
> #20 0x00cafab4 in boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&, qpid::sys::AsynchIO::BufferBase*>, boost::_bi::list3<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>, boost::arg<2> > >, void, qpid::sys::AsynchIO&, qpid::sys::AsynchIO::BufferBase*>::invoke (function_obj_ptr=
>       {obj_ptr = 0x9a4a22b8, const_obj_ptr = 0x9a4a22b8, func_ptr = 0x9a4a22b8, data = "�"}, a0=@0x9a4d3df0, a1=0xa64f4b58)
>     at /usr/include/boost/bind/mem_fn_template.hpp:252
> #21 0x00c75f0e in boost::function2<void, qpid::sys::AsynchIO&, qpid::sys::AsynchIO::BufferBase*, std::allocator<boost::function_base> >::operator() (
>     this=0x9a4d3e44, a0=@0x9a4d3df0, a1=0xa64f4b58)
>     at /usr/include/boost/function/function_template.hpp:576
> #22 0x00c721d9 in qpid::sys::AsynchIO::readable (this=0x9a4d3df0, 
>     h=@0x9a4d3df0) at qpid/sys/posix/AsynchIO.cpp:198
> #23 0x00c74eed in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, qpid::sys::AsynchIO, qpid::sys::DispatchHandle&>, boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIO*>, boost::arg<1> > >, void, qpid::sys::DispatchHandle&>::invoke (function_obj_ptr=
>       {obj_ptr = 0x9a4d3588, const_obj_ptr = 0x9a4d3588, func_ptr = 0x9a4d3588, data = "\210"}, a0=@0x9a4d3df0)
>     at /usr/include/boost/bind/mem_fn_template.hpp:149
> ---Type <return> to continue, or q <return> to quit---
> #24 0x00cb5bd7 in boost::function1<void, qpid::sys::DispatchHandle&, std::allocator<boost::function_base> >::operator() (this=0x9a4d3dfc, a0=@0x9a4d3df0)
>     at /usr/include/boost/function/function_template.hpp:576
> #25 0x00cb316b in qpid::sys::DispatchHandle::dispatchCallbacks (
>     this=0x9a4d3df0, type=qpid::sys::Poller::READABLE)
>     at qpid/sys/Dispatcher.cpp:370
> #26 0x00cb384c in qpid::sys::Dispatcher::run (this=0xbff75b5c)
>     at qpid/sys/Dispatcher.cpp:43
> #27 0x00cabac2 in qpid::sys::AsynchIOAcceptor::run (this=0x95f7d78, 
>     fact=0x95f8938) at qpid/sys/AsynchIOAcceptor.cpp:171
> #28 0x0051e6e4 in qpid::broker::Broker::run (this=0x95f8858)
>     at qpid/broker/Broker.cpp:134
> #29 0x0804cc84 in main (argc=2, argv=Cannot access memory at address 0x4
> ) at qpidd.cpp:173

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