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

Reply via email to