[
https://issues.apache.org/jira/browse/QPID-6790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967274#comment-14967274
]
Alan Conway commented on QPID-6790:
-----------------------------------
Here is a valgrind trace of the problem. Unfortunately it doesn't point clearly
to the culprit, it looks like by the time we trigger a segfault we have already
followed a bad pointer off into the weeds and lost our way.
==21790== Memcheck, a memory error detector
==21790== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==21790== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==21790== Command: /home/aconway/qpid/debug/src/qpidd --port 0 --interface
127.0.0.1 --no-module-dir --load-module /home/aconway/qpid/debug/src/amqp.so
--load-module /home/aconway/qpid/debug/src/linearstore.so --auth=no
--log-to-file 000:broker0.log --log-to-stderr=no --data-dir
/home/aconway/qpid/debug/src/tests/interop_tests.tmp/__main__.StartBroker.start_qpidd/broker0
==21790==
==21790== Thread 7:
==21790== Invalid read of size 8
==21790== at 0x863ED6F: pni_add_tpwork (engine.c:704)
==21790== by 0x8642486: pn_delivery_update (engine.c:1981)
==21790== by 0x83913B6:
qpid::broker::amqp::Session::accepted(pn_delivery_t*, bool) (Session.cpp:621)
==21790== by 0x8391CCE: qpid::broker::amqp::Session::dispatch()
(Session.cpp:693)
==21790== by 0x83371FD: qpid::broker::amqp::Connection::dispatch()
(Connection.cpp:286)
==21790== by 0x83372DF: qpid::broker::amqp::Connection::canEncode()
(Connection.cpp:301)
==21790== by 0x8386FB7: qpid::broker::amqp::Sasl::canEncode() (Sasl.cpp:94)
==21790== by 0x594F560:
qpid::sys::AsynchIOHandler::idle(qpid::sys::AsynchIO&) (AsynchIOHandler.cpp:215)
==21790== by 0x53450F1: boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
qpid::sys::AsynchIO&>::operator()(qpid::sys::AsynchIOHandler*,
qpid::sys::AsynchIO&) const (mem_fn_template.hpp:165)
==21790== by 0x5343F92: void
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>
>::operator()<boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
qpid::sys::AsynchIO&>, boost::_bi::list1<qpid::sys::AsynchIO&>
>(boost::_bi::type<void>, boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
qpid::sys::AsynchIO&>&, boost::_bi::list1<qpid::sys::AsynchIO&>&, int)
(bind.hpp:313)
==21790== by 0x5343377: void boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>
> >::operator()<qpid::sys::AsynchIO>(qpid::sys::AsynchIO&)
(bind_template.hpp:32)
==21790== by 0x53426BE:
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>
> >, void,
qpid::sys::AsynchIO&>::invoke(boost::detail::function::function_buffer&,
qpid::sys::AsynchIO&) (function_template.hpp:153)
==21790== by 0x58B4054: boost::function1<void,
qpid::sys::AsynchIO&>::operator()(qpid::sys::AsynchIO&) const
(function_template.hpp:767)
==21790== by 0x58B1C58:
qpid::sys::posix::AsynchIO::writeable(qpid::sys::DispatchHandle&)
(AsynchIO.cpp:582)
==21790== by 0x58B90DF: boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
qpid::sys::DispatchHandle&>::operator()(qpid::sys::posix::AsynchIO*,
qpid::sys::DispatchHandle&) const (mem_fn_template.hpp:165)
==21790== by 0x58B84F6: void
boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>, boost::arg<1>
>::operator()<boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
qpid::sys::DispatchHandle&>, boost::_bi::list1<qpid::sys::DispatchHandle&>
>(boost::_bi::type<void>, boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
qpid::sys::DispatchHandle&>&, boost::_bi::list1<qpid::sys::DispatchHandle&>&,
int) (bind.hpp:313)
==21790== by 0x58B780B: void boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::sys::posix::AsynchIO, qpid::sys::DispatchHandle&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>, boost::arg<1>
> >::operator()<qpid::sys::DispatchHandle>(qpid::sys::DispatchHandle&)
(bind_template.hpp:32)
==21790== by 0x58B676A:
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO, qpid::sys::DispatchHandle&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>, boost::arg<1>
> >, void,
qpid::sys::DispatchHandle&>::invoke(boost::detail::function::function_buffer&,
qpid::sys::DispatchHandle&) (function_template.hpp:153)
==21790== by 0x595244A: boost::function1<void,
qpid::sys::DispatchHandle&>::operator()(qpid::sys::DispatchHandle&) const
(function_template.hpp:767)
==21790== by 0x5951ACA:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(DispatchHandle.cpp:283)
==21790== by 0x58DBC25: qpid::sys::Poller::Event::process() (Poller.h:131)
==21790== by 0x58DAFFB: qpid::sys::Poller::run() (EpollPoller.cpp:522)
==21790== by 0x5950828: qpid::sys::Dispatcher::run() (Dispatcher.cpp:37)
==21790== by 0x58CF1DE: qpid::sys::(anonymous namespace)::runRunnable(void*)
(Thread.cpp:35)
==21790== by 0x652A554: start_thread (in /usr/lib64/libpthread-2.21.so)
==21790== by 0x6841B9C: clone (in /usr/lib64/libc-2.21.so)
==21790== Address 0x180 is not stack'd, malloc'd or (recently) free'd
==21790==
==21790==
==21790== Process terminating with default action of signal 11 (SIGSEGV):
dumping core
==21790== Access not within mapped region at address 0x180
==21790== at 0x863ED6F: pni_add_tpwork (engine.c:704)
==21790== by 0x8642486: pn_delivery_update (engine.c:1981)
==21790== by 0x83913B6:
qpid::broker::amqp::Session::accepted(pn_delivery_t*, bool) (Session.cpp:621)
==21790== by 0x8391CCE: qpid::broker::amqp::Session::dispatch()
(Session.cpp:693)
==21790== by 0x83371FD: qpid::broker::amqp::Connection::dispatch()
(Connection.cpp:286)
==21790== by 0x83372DF: qpid::broker::amqp::Connection::canEncode()
(Connection.cpp:301)
==21790== by 0x8386FB7: qpid::broker::amqp::Sasl::canEncode() (Sasl.cpp:94)
==21790== by 0x594F560:
qpid::sys::AsynchIOHandler::idle(qpid::sys::AsynchIO&) (AsynchIOHandler.cpp:215)
==21790== by 0x53450F1: boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
qpid::sys::AsynchIO&>::operator()(qpid::sys::AsynchIOHandler*,
qpid::sys::AsynchIO&) const (mem_fn_template.hpp:165)
==21790== by 0x5343F92: void
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>
>::operator()<boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
qpid::sys::AsynchIO&>, boost::_bi::list1<qpid::sys::AsynchIO&>
>(boost::_bi::type<void>, boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
qpid::sys::AsynchIO&>&, boost::_bi::list1<qpid::sys::AsynchIO&>&, int)
(bind.hpp:313)
==21790== by 0x5343377: void boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>
> >::operator()<qpid::sys::AsynchIO>(qpid::sys::AsynchIO&)
(bind_template.hpp:32)
==21790== by 0x53426BE:
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>, boost::arg<1>
> >, void,
qpid::sys::AsynchIO&>::invoke(boost::detail::function::function_buffer&,
qpid::sys::AsynchIO&) (function_template.hpp:153)
==21790== by 0x58B4054: boost::function1<void,
qpid::sys::AsynchIO&>::operator()(qpid::sys::AsynchIO&) const
(function_template.hpp:767)
==21790== by 0x58B1C58:
qpid::sys::posix::AsynchIO::writeable(qpid::sys::DispatchHandle&)
(AsynchIO.cpp:582)
==21790== by 0x58B90DF: boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
qpid::sys::DispatchHandle&>::operator()(qpid::sys::posix::AsynchIO*,
qpid::sys::DispatchHandle&) const (mem_fn_template.hpp:165)
==21790== by 0x58B84F6: void
boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>, boost::arg<1>
>::operator()<boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
qpid::sys::DispatchHandle&>, boost::_bi::list1<qpid::sys::DispatchHandle&>
>(boost::_bi::type<void>, boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
qpid::sys::DispatchHandle&>&, boost::_bi::list1<qpid::sys::DispatchHandle&>&,
int) (bind.hpp:313)
==21790== by 0x58B780B: void boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::sys::posix::AsynchIO, qpid::sys::DispatchHandle&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>, boost::arg<1>
> >::operator()<qpid::sys::DispatchHandle>(qpid::sys::DispatchHandle&)
(bind_template.hpp:32)
==21790== by 0x58B676A:
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO, qpid::sys::DispatchHandle&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>, boost::arg<1>
> >, void,
qpid::sys::DispatchHandle&>::invoke(boost::detail::function::function_buffer&,
qpid::sys::DispatchHandle&) (function_template.hpp:153)
==21790== by 0x595244A: boost::function1<void,
qpid::sys::DispatchHandle&>::operator()(qpid::sys::DispatchHandle&) const
(function_template.hpp:767)
==21790== by 0x5951ACA:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(DispatchHandle.cpp:283)
==21790== by 0x58DBC25: qpid::sys::Poller::Event::process() (Poller.h:131)
==21790== by 0x58DAFFB: qpid::sys::Poller::run() (EpollPoller.cpp:522)
==21790== by 0x5950828: qpid::sys::Dispatcher::run() (Dispatcher.cpp:37)
==21790== by 0x58CF1DE: qpid::sys::(anonymous namespace)::runRunnable(void*)
(Thread.cpp:35)
==21790== by 0x652A554: start_thread (in /usr/lib64/libpthread-2.21.so)
==21790== by 0x6841B9C: clone (in /usr/lib64/libc-2.21.so)
==21790== If you believe this happened as a result of a stack
==21790== overflow in your program's main thread (unlikely but
==21790== possible), you can try to increase the size of the
==21790== main thread stack using the --main-stacksize= flag.
==21790== The main thread stack size used in this run was 8720384.
==21790==
==21790== HEAP SUMMARY:
==21790== in use at exit: 5,033,481 bytes in 6,949 blocks
==21790== total heap usage: 33,705,273 allocs, 33,698,324 frees,
1,300,242,393 bytes allocated
==21790==
==21790== Thread 1:
==21790== 273 (136 direct, 137 indirect) bytes in 1 blocks are definitely lost
in loss record 4,557 of 4,892
==21790== at 0x4C29158: operator new(unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==21790== by 0xA3941F2:
qpid::linearstore::journal::EmptyFilePoolManager::insertPartition(unsigned
short, std::string const&) (EmptyFilePoolManager.cpp:196)
==21790== by 0xA393501:
qpid::linearstore::journal::EmptyFilePoolManager::findEfpPartitions()
(EmptyFilePoolManager.cpp:80)
==21790== by 0xA3E24A9: qpid::linearstore::MessageStoreImpl::init(bool)
(MessageStoreImpl.cpp:300)
==21790== by 0xA3E0B5D:
qpid::linearstore::MessageStoreImpl::init(std::string const&, unsigned short,
unsigned long, bool, unsigned int, unsigned int, bool)
(MessageStoreImpl.cpp:203)
==21790== by 0xA3E093A:
qpid::linearstore::MessageStoreImpl::init(qpid::Options const*)
(MessageStoreImpl.cpp:177)
==21790== by 0xA3CD530:
qpid::broker::StorePlugin::earlyInitialize(qpid::Plugin::Target&)
(StorePlugin.cpp:72)
==21790== by 0x5900AF9: boost::_mfi::mf1<void, qpid::Plugin,
qpid::Plugin::Target&>::operator()(qpid::Plugin*, qpid::Plugin::Target&) const
(mem_fn_template.hpp:165)
==21790== by 0x59001C0: void boost::_bi::list2<boost::arg<1>,
boost::reference_wrapper<qpid::Plugin::Target>
>::operator()<boost::_mfi::mf1<void, qpid::Plugin, qpid::Plugin::Target&>,
boost::_bi::list1<qpid::Plugin* const&> >(boost::_bi::type<void>,
boost::_mfi::mf1<void, qpid::Plugin, qpid::Plugin::Target&>&,
boost::_bi::list1<qpid::Plugin* const&>&, int) (bind.hpp:313)
==21790== by 0x58FF9EF: void boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::Plugin, qpid::Plugin::Target&>, boost::_bi::list2<boost::arg<1>,
boost::reference_wrapper<qpid::Plugin::Target> >
>::operator()<qpid::Plugin*>(qpid::Plugin* const&) (bind_template.hpp:47)
==21790== by 0x58FF0F8: boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::Plugin, qpid::Plugin::Target&>, boost::_bi::list2<boost::arg<1>,
boost::reference_wrapper<qpid::Plugin::Target> > >
std::for_each<__gnu_cxx::__normal_iterator<qpid::Plugin* const*,
std::vector<qpid::Plugin*, std::allocator<qpid::Plugin*> > >,
boost::_bi::bind_t<void, boost::_mfi::mf1<void, qpid::Plugin,
qpid::Plugin::Target&>, boost::_bi::list2<boost::arg<1>,
boost::reference_wrapper<qpid::Plugin::Target> > >
>(__gnu_cxx::__normal_iterator<qpid::Plugin* const*, std::vector<qpid::Plugin*,
std::allocator<qpid::Plugin*> > >, __gnu_cxx::__normal_iterator<qpid::Plugin*
const*, std::vector<qpid::Plugin*, std::allocator<qpid::Plugin*> > >,
boost::_bi::bind_t<void, boost::_mfi::mf1<void, qpid::Plugin,
qpid::Plugin::Target&>, boost::_bi::list2<boost::arg<1>,
boost::reference_wrapper<qpid::Plugin::Target> > >) (stl_algo.h:3767)
==21790== by 0x58FDFCC: void qpid::(anonymous
namespace)::each_plugin<boost::_bi::bind_t<void, boost::_mfi::mf1<void,
qpid::Plugin, qpid::Plugin::Target&>, boost::_bi::list2<boost::arg<1>,
boost::reference_wrapper<qpid::Plugin::Target> > > >(boost::_bi::bind_t<void,
boost::_mfi::mf1<void, qpid::Plugin, qpid::Plugin::Target&>,
boost::_bi::list2<boost::arg<1>, boost::reference_wrapper<qpid::Plugin::Target>
> > const&) (Plugin.cpp:73)
==21790== by 0x58FDED9: qpid::Plugin::earlyInitAll(qpid::Plugin::Target&)
(Plugin.cpp:87)
==21790== by 0x51ABF75:
qpid::broker::Broker::Broker(qpid::broker::BrokerOptions const&)
(Broker.cpp:305)
==21790== by 0x4075CA:
qpid::broker::QpiddBroker::execute(qpid::broker::QpiddOptions*)
(QpiddBroker.cpp:229)
==21790== by 0x40B8DD: qpid::broker::run_broker(int, char**, bool)
(qpidd.cpp:108)
==21790== by 0x407A55: main (QpiddBroker.cpp:249)
==21790==
==21790== LEAK SUMMARY:
==21790== definitely lost: 136 bytes in 1 blocks
==21790== indirectly lost: 137 bytes in 1 blocks
==21790== possibly lost: 869,230 bytes in 3,810 blocks
==21790== still reachable: 4,163,978 bytes in 3,137 blocks
==21790== suppressed: 0 bytes in 0 blocks
==21790== Reachable blocks (those to which a pointer was found) are not shown.
==21790== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==21790==
==21790== For counts of detected and suppressed errors, rerun with: -v
==21790== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
> qpidd crashes in the interop_tests unit test.
> ---------------------------------------------
>
> Key: QPID-6790
> URL: https://issues.apache.org/jira/browse/QPID-6790
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Affects Versions: qpid-cpp-0.34
> Reporter: Ken Giusti
> Assignee: Ken Giusti
> Priority: Blocker
> Fix For: qpid-cpp-next
>
>
> Crashes consistently on certain systems, like RHEL6 or Fedora 21. Appears to
> be a race that leaves stale pointers to pn_delivery_t objects after a link
> has been closed.
> delivery passed to pni_add_tpwork has a null link ptr. likely that the
> delivery has already been freed.
> Backtrace:
> Thread 1 (Thread 0x7fb832b44700 (LWP 15941)):
> #0 0x00007fb838f34c65 in pni_add_tpwork (delivery=0x7fb80c046290) at
> /home/chug/git/qpid-proton/proton-c/src/engine/engine.c:704
> #1 0x00007fb838f38359 in pn_delivery_update (delivery=0x7fb80c046290,
> state=36) at /home/chug/git/qpid-proton/proton-c/src/engine/engine.c:1981
> ---Type <return> to continue, or q <return> to quit---
> #2 0x00007fb839269e41 in qpid::broker::amqp::Session::accepted
> (this=0x7fb80c00f470, delivery=0x7fb80c046290, sync=true)
> at /home/chug/git/qpid/qpid/cpp/src/qpid/broker/amqp/Session.cpp:621
> #3 0x00007fb83926a72b in qpid::broker::amqp::Session::dispatch
> (this=0x7fb80c00f470) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/broker/amqp/Session.cpp:693
> #4 0x00007fb839211927 in qpid::broker::amqp::Connection::dispatch
> (this=0x7fb80c0108a8) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/broker/amqp/Connection.cpp:286
> #5 0x00007fb839211a3c in qpid::broker::amqp::Connection::canEncode
> (this=0x7fb80c0108a8) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/broker/amqp/Connection.cpp:301
> #6 0x00007fb83925fa24 in qpid::broker::amqp::Sasl::canEncode
> (this=0x7fb80c010840) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/broker/amqp/Sasl.cpp:94
> #7 0x00007fb83cb4d170 in qpid::sys::AsynchIOHandler::idle
> (this=0x7fb80c032a00) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp:215
> #8 0x00007fb83d397e88 in boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler,
> qpid::sys::AsynchIO&>::operator() (this=0x7fb80c0447d0, p=0x7fb80c032a00,
> a1=...)
> at /usr/include/boost/bind/mem_fn_template.hpp:165
> #9 0x00007fb83d396bb1 in
> boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>,
> boost::arg<1> >::operator()<boost::_mfi::mf1<void,
> qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
> boost::_bi::list1<qpid::sys::AsynchIO&> > (this=0x7fb80c0447e0, f=..., a=...)
> at /usr/include/boost/bind/bind.hpp:313
> #10 0x00007fb83d396060 in boost::_bi::bind_t<void, boost::_mfi::mf1<void,
> qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
> boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>,
> boost::arg<1> > >::operator()<qpid::sys::AsynchIO> (this=0x7fb80c0447d0,
> a1=...) at /usr/include/boost/bind/bind_template.hpp:32
> #11 0x00007fb83d395412 in
> boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
> boost::_mfi::mf1<void, qpid::sys::AsynchIOHandler, qpid::sys::AsynchIO&>,
> boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchIOHandler*>,
> boost::arg<1> > >, void, qpid::sys::AsynchIO&>::invoke (function_obj_ptr=...,
> a0=...)
> at /usr/include/boost/function/function_template.hpp:153
> #12 0x00007fb83caae137 in boost::function1<void,
> qpid::sys::AsynchIO&>::operator() (this=0x7fb80c0447c8, a0=...) at
> /usr/include/boost/function/function_template.hpp:767
> #13 0x00007fb83caabd90 in qpid::sys::posix::AsynchIO::writeable
> (this=0x7fb80c0445d0, h=...) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:582
> #14 0x00007fb83cab31d4 in boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
> qpid::sys::DispatchHandle&>::operator() (this=0x7fb80c044610,
> p=0x7fb80c0445d0, a1=...)
> at /usr/include/boost/bind/mem_fn_template.hpp:165
> #15 0x00007fb83cab2507 in
> boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>,
> boost::arg<1> >::operator()<boost::_mfi::mf1<void,
> qpid::sys::posix::AsynchIO, qpid::sys::DispatchHandle&>,
> boost::_bi::list1<qpid::sys::DispatchHandle&> > (this=0x7fb80c044620, f=...,
> a=...) at /usr/include/boost/bind/bind.hpp:313
> #16 0x00007fb83cab17d4 in boost::_bi::bind_t<void, boost::_mfi::mf1<void,
> qpid::sys::posix::AsynchIO, qpid::sys::DispatchHandle&>,
> boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>,
> boost::arg<1> > >::operator()<qpid::sys::DispatchHandle>
> (this=0x7fb80c044610, a1=...) at /usr/include/boost/bind/bind_template.hpp:32
> #17 0x00007fb83cab07da in
> boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
> boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
> qpid::sys::DispatchHandle&>,
> boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>,
> boost::arg<1> > >, void, qpid::sys::DispatchHandle&>::invoke
> (function_obj_ptr=..., a0=...)
> at /usr/include/boost/function/function_template.hpp:153
> #18 0x00007fb83cb500e3 in boost::function1<void,
> qpid::sys::DispatchHandle&>::operator() (this=0x7fb80c044608, a0=...) at
> /usr/include/boost/function/function_template.hpp:767
> #19 0x00007fb83cb4f765 in qpid::sys::DispatchHandle::processEvent
> (this=0x7fb80c0445d8, type=qpid::sys::Poller::WRITABLE)
> at /home/chug/git/qpid/qpid/cpp/src/qpid/sys/DispatchHandle.cpp:283
> #20 0x00007fb83cad509a in qpid::sys::Poller::Event::process
> (this=0x7fb832b43cb0) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/sys/Poller.h:131
> #21 0x00007fb83cad4480 in qpid::sys::Poller::run (this=0x232c420) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp:522
> #22 0x00007fb83cb4e473 in qpid::sys::Dispatcher::run (this=0x7ffcb83a9ae0) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/sys/Dispatcher.cpp:37
> #23 0x00007fb83cac87cd in qpid::sys::(anonymous namespace)::runRunnable
> (p=0x7ffcb83a9ae0) at
> /home/chug/git/qpid/qpid/cpp/src/qpid/sys/posix/Thread.cpp:35
> #24 0x00007fb83be5852a in start_thread () from /lib64/libpthread.so.0
> #25 0x00007fb83bb9422d in clone () from /lib64/libc.so.6
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]