I believe this is the culprit: https://issues.apache.org/jira/browse/QPID-6563
We're freeing the pn_link while there are deliveries still referenced by qpidd. I started an attempt to fix here, but it doesn't work (yet): https://reviews.apache.org/r/39427/ ----- Original Message ----- > From: "Alan Conway (JIRA)" <[email protected]> > To: [email protected] > Sent: Wednesday, October 21, 2015 11:00:30 AM > Subject: [jira] [Commented] (QPID-6790) qpidd crashes in the interop_tests > unit test. > > > [ > > 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] > > -- -K --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
