================================================================= ==tpsdaemon==17486==ERROR: AddressSanitizer: heap-use-after-free on address 0x6100000184dc at pc 0x7f57fe12b159 bp 0x7f57fc5618d0 sp 0x7f57fc5618c8 WRITE of size 1 at 0x6100000184dc thread T3 #0 0x7f57fe12b158 in zmq::pipe_t::terminate(bool) /home/btorpey/work/libzmq/4.2.3/src/pipe.cpp:393:11 #1 0x7f57fe1774d7 in zmq::socket_base_t::term_endpoint(char const*) /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:1086:32 #2 0x7f57fe17a3af in zmq::socket_base_t::process_term_endpoint(std::string*) /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:1419:5 #3 0x7f57fe108799 in zmq::object_t::process_command(zmq::command_t&) /home/btorpey/work/libzmq/4.2.3/src/object.cpp:138:9 #4 0x7f57fe16ce1a in zmq::socket_base_t::process_commands(int, bool) /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:1367:26 #5 0x7f57fe17ab72 in zmq::socket_base_t::in_event() /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:1515:5 #6 0x7f57fe0d1ce4 in zmq::epoll_t::loop() /home/btorpey/work/libzmq/4.2.3/src/epoll.cpp:188:29 #7 0x7f57fe0d1264 in zmq::epoll_t::worker_routine(void*) /home/btorpey/work/libzmq/4.2.3/src/epoll.cpp:203:24 #8 0x7f57fe1bd938 in thread_routine(void*) /home/btorpey/work/libzmq/4.2.3/src/thread.cpp:106:9 #9 0x3b5ee079d0 in start_thread (/lib64/libpthread.so.0+0x3b5ee079d0) #10 0x3b5eae8b6c in clone (/lib64/libc.so.6+0x3b5eae8b6c) 0x6100000184dc is located 156 bytes inside of 192-byte region [0x610000018440,0x610000018500) freed by thread T3 here: #0 0x52b660 in operator delete(void*) /shared/buildtest/clang/trunk/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:150 #1 0x7f57fe126ec9 in zmq::pipe_t::~pipe_t() /home/btorpey/work/libzmq/4.2.3/src/pipe.cpp:101:1 #2 0x7f57fe12ab40 in zmq::pipe_t::process_pipe_term_ack() /home/btorpey/work/libzmq/4.2.3/src/pipe.cpp:377:5 #3 0x7f57fe108386 in zmq::object_t::process_command(zmq::command_t&) /home/btorpey/work/libzmq/4.2.3/src/object.cpp:118:9 #4 0x7f57fe16ce1a in zmq::socket_base_t::process_commands(int, bool) /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:1367:26 #5 0x7f57fe17ab72 in zmq::socket_base_t::in_event() /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:1515:5 #6 0x7f57fe0d1ce4 in zmq::epoll_t::loop() /home/btorpey/work/libzmq/4.2.3/src/epoll.cpp:188:29 #7 0x7f57fe0d1264 in zmq::epoll_t::worker_routine(void*) /home/btorpey/work/libzmq/4.2.3/src/epoll.cpp:203:24 #8 0x7f57fe1bd938 in thread_routine(void*) /home/btorpey/work/libzmq/4.2.3/src/thread.cpp:106:9 #9 0x3b5ee079d0 in start_thread (/lib64/libpthread.so.0+0x3b5ee079d0) #10 0x3b5eae8b6c in clone (/lib64/libc.so.6+0x3b5eae8b6c) previously allocated by thread T6 here: #0 0x52ac00 in operator new(unsigned long, std::nothrow_t const&) /shared/buildtest/clang/trunk/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:99 #1 0x7f57fe1259e6 in zmq::pipepair(zmq::object_t**, zmq::pipe_t**, int*, bool*) /home/btorpey/work/libzmq/4.2.3/src/pipe.cpp:64:18 #2 0x7f57fe1751d3 in zmq::socket_base_t::connect(char const*) /home/btorpey/work/libzmq/4.2.3/src/socket_base.cpp:974:14 #3 0x7f57fe1e315d in zmq_connect /home/btorpey/work/libzmq/4.2.3/src/zmq.cpp:345:21 #4 0x7f57fe4ab240 in zmqBridgeMamaTransportImpl_connectSocket /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:1155:13 #5 0x7f57fe4aa3e2 in zmqBridgeMamaTransportImpl_dispatchNamingMsg /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:576:10 #6 0x7f57fe4b4cd6 in zmqBridgeMamaTransportImpl_dispatchThread /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:490:16 #7 0x3b5ee079d0 in start_thread (/lib64/libpthread.so.0+0x3b5ee079d0) #8 0x3b5eae8b6c in clone (/lib64/libc.so.6+0x3b5eae8b6c) Thread T3 created by T0 here: #0 0x43d0ed in pthread_create /shared/buildtest/clang/trunk/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:210 #1 0x7f57fe1bd502 in zmq::thread_t::start(void (*)(void*), void*) /home/btorpey/work/libzmq/4.2.3/src/thread.cpp:115:14 #2 0x7f57fe09ddd0 in zmq::ctx_t::start_thread(zmq::thread_t&, void (*)(void*), void*) const /home/btorpey/work/libzmq/4.2.3/src/ctx.cpp:413:13 #3 0x7f57fe0d1248 in zmq::epoll_t::start() /home/btorpey/work/libzmq/4.2.3/src/epoll.cpp:144:9 #4 0x7f57fe145583 in zmq::reaper_t::start() /home/btorpey/work/libzmq/4.2.3/src/reaper.cpp:68:13 #5 0x7f57fe09bd64 in zmq::ctx_t::create_socket(int) /home/btorpey/work/libzmq/4.2.3/src/ctx.cpp:338:17 #6 0x7f57fe1e2b9c in zmq_socket /home/btorpey/work/libzmq/4.2.3/src/zmq.cpp:257:34 #7 0x7f57fe4afd33 in zmqBridgeMamaTransportImpl_createSocket /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:1117:17 #8 0x7f57fe4a5840 in zmqBridgeMamaTransportImpl_init /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:299:4 #9 0x7f57fe4a5002 in zmqBridgeMamaTransport_create /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:162:4 #10 0x7f58026c7ae3 in mamaTransport_create /shared/work/OpenMAMA/6.2.1/mama/c_cpp/src/c/transport.c:870:16 #11 0x7f5803e0384f in Transact::MamaConnectionImpl::MamaConnectionImpl(char const*) /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaConnectionImpl.cpp:254:15 #12 0x7f5803e07caf in Transact::IConnection::getDefaultConnection() /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaConnectionImpl.cpp:361:32 #13 0x7f5803e4217c in Transact::ISession::getDefaultSession() /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaSessionImpl.cpp:132:45 #14 0x7f5803e11c77 in Transact::MamaListenerImpl::MamaListenerImpl(Transact::ISession*) /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaListenerImpl.cpp:45:50 #15 0x7f5803e11a3d in Transact::IListener::CreateListener() /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaListenerImpl.cpp:27:15 #16 0x5881d2 in TransactX::TxnReceiver::init(char const*, char const*, TransactX::FAILOVERMODE, TransactX::DISPATCHMODE, int, char const*, char const*, bool, char const*, TransactX::STANDBYTYPE, int, bool, char const*, char const*, bool, int) /home/btorpey/work/transact/4.0.0/src/server/txnpd/src/TxnReceiver.cpp:369:17 #17 0x5c6722 in main /home/btorpey/work/transact/4.0.0/src/server/txnpd/src/txnd.cpp:89:19 #18 0x3b5ea1ed1c in __libc_start_main (/lib64/libc.so.6+0x3b5ea1ed1c) Thread T6 created by T0 here: #0 0x43d0ed in pthread_create /shared/buildtest/clang/trunk/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:210 #1 0x7f57fe4a761a in zmqBridgeMamaTransportImpl_start /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:370:13 #2 0x7f57fe4a50b4 in zmqBridgeMamaTransport_create /home/btorpey/work/OpenMAMA-zmq/2.0/src/transport.c:165:4 #3 0x7f58026c7ae3 in mamaTransport_create /shared/work/OpenMAMA/6.2.1/mama/c_cpp/src/c/transport.c:870:16 #4 0x7f5803e0384f in Transact::MamaConnectionImpl::MamaConnectionImpl(char const*) /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaConnectionImpl.cpp:254:15 #5 0x7f5803e07caf in Transact::IConnection::getDefaultConnection() /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaConnectionImpl.cpp:361:32 #6 0x7f5803e4217c in Transact::ISession::getDefaultSession() /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaSessionImpl.cpp:132:45 #7 0x7f5803e11c77 in Transact::MamaListenerImpl::MamaListenerImpl(Transact::ISession*) /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaListenerImpl.cpp:45:50 #8 0x7f5803e11a3d in Transact::IListener::CreateListener() /home/btorpey/work/transact/4.0.0/src/common/Middleware/MamaAdapter/MamaListenerImpl.cpp:27:15 #9 0x5881d2 in TransactX::TxnReceiver::init(char const*, char const*, TransactX::FAILOVERMODE, TransactX::DISPATCHMODE, int, char const*, char const*, bool, char const*, TransactX::STANDBYTYPE, int, bool, char const*, char const*, bool, int) /home/btorpey/work/transact/4.0.0/src/server/txnpd/src/TxnReceiver.cpp:369:17 #10 0x5c6722 in main /home/btorpey/work/transact/4.0.0/src/server/txnpd/src/txnd.cpp:89:19 #11 0x3b5ea1ed1c in __libc_start_main (/lib64/libc.so.6+0x3b5ea1ed1c) SUMMARY: AddressSanitizer: heap-use-after-free /home/btorpey/work/libzmq/4.2.3/src/pipe.cpp:393:11 in zmq::pipe_t::terminate(bool) Shadow bytes around the buggy address: 0x0c207fffb040: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd 0x0c207fffb050: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c207fffb060: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd 0x0c207fffb070: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c207fffb080: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd =>0x0c207fffb090: fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd fd 0x0c207fffb0a0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd 0x0c207fffb0b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c207fffb0c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c207fffb0d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c207fffb0e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==tpsdaemon==17486==ABORTING