zeromq4-x icon indicating copy to clipboard operation
zeromq4-x copied to clipboard

Odd crash on Mac OS X with ZeroMQ 4.0.6

Open Kentzo opened this issue 9 years ago • 1 comments

This is an odd crash that happens sporadically:

0 libsystem_kernel.dylib 0x00007fff8debcc82 __kill + 10 1 libsystem_platform.dylib 0x00007fff88730f1a _sigtramp + 26 2 ??? 000000000000000000 0 + 0 3 libsystem_c.dylib 0x00007fff8b090b53 abort + 129 4 libsystem_malloc.dylib 0x00007fff8b0c41cb free + 428 5 libzmq.4.dylib 0x0000000112175c30 __gnu_cxx::new_allocatorstd::Rb_tree_node<zmq::pipe_t* >::deallocate(std::Rb_tree_nodezmq::pipe_t*, unsigned long) + 32 (new_allocator.h:97) 6 libzmq.4.dylib 0x0000000112175c02 std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::_Identityzmq::pipe_t_, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::M_put_node(std::Rb_tree_nodezmq::pipe_t*) + 50 (stl_tree.h:373) 7 libzmq.4.dylib 0x0000000112175b61 std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::_Identityzmq::pipe_t_, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::M_destroy_node(std::Rb_tree_nodezmq::pipe_t*) + 81 (stl_tree.h:404) 8 libzmq.4.dylib 0x0000000112175d1b std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::_Identityzmq::pipe_t_, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::M_erase(std::Rb_tree_nodezmq::pipe_t*) + 91 (stl_tree.h:1328) 9 libzmq.4.dylib 0x00000001121759d5 std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::_Identityzmq::pipe_t_, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::clear() + 37 (stl_tree.h:714) 10 libzmq.4.dylib 0x00000001121758a2 std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identityzmq::pipe_t*, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::erase(std::Rb_tree_iteratorzmq::pipe_t*, std::Rb_tree_iteratorzmq::pipe_t*) + 114 (stl_tree.h:1339) 11 libzmq.4.dylib 0x0000000112175785 std::Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::Identityzmq::pipe_t*, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::erase(zmq::pipe_t* const&) + 101 (stl_tree.h:1277) 12 libzmq.4.dylib 0x000000011217551d std::set<zmq::pipe_t*, std::lesszmq::pipe_t*, std::allocatorzmq::pipe_t* >::erase(zmq::pipe_t* const&) + 29 (stl_set.h:373) 13 libzmq.4.dylib 0x000000011218a24f zmq::session_base_t::pipe_terminated(zmq::pipe_t) + 303 (session_base.cpp:215) 14 libzmq.4.dylib 0x000000011218a38f non-virtual thunk to zmq::session_base_t::pipe_terminated(zmq::pipe_t) + 47 (session_base.cpp:230) 15 libzmq.4.dylib 0x000000011217fb93 zmq::pipe_t::process_pipe_term_ack() + 163 (pipe.cpp:313) 16 libzmq.4.dylib 0x000000011217840c zmq::object_t::process_command(zmq::command_t&) + 364 (object.cpp:108) 17 libzmq.4.dylib 0x0000000112169c2e zmq::io_thread_t::in_event() + 126 (io_thread.cpp:73) 18 libzmq.4.dylib 0x0000000112169d0c non-virtual thunk to zmq::io_thread_t::in_event() + 28 (io_thread.cpp:78) 19 libzmq.4.dylib 0x000000011216d6a3 zmq::kqueue_t::loop() + 803 (kqueue.cpp:199) 20 libzmq.4.dylib 0x000000011216d345 zmq::kqueue_t::worker_routine(void) + 21 (kqueue.cpp:212) 21 libzmq.4.dylib 0x00000001121a246c thread_routine(void) + 284 (thread.cpp:82) 22 libsystem_pthread.dylib 0x00007fff8af96268 _pthread_body + 131 23 libsystem_pthread.dylib 0x00007fff8af961e5 _pthread_start + 176 24 libsystem_pthread.dylib 0x00007fff8af9441d thread_start + 13

I've seen it multiple times, stack trace was the same. However I didn?t find any reproducible patter before it happens.

Our application is cross-platform (Linux, Windows, OSX) but we never seen anything like that on other platforms.

Kentzo avatar Aug 22 '15 18:08 Kentzo

Please report such issues against libzmq master, thanks. On 22 Aug 2015 20:53, "Ilya Kulakov" [email protected] wrote:

This is an odd crash that happens sporadically:

0 libsystem_kernel.dylib 0x00007fff8debcc82 __kill + 10 1 libsystem_platform.dylib 0x00007fff88730f1a _sigtramp + 26 2 ??? 000000000000000000 0 + 0 3 libsystem_c.dylib 0x00007fff8b090b53 abort + 129 4 libsystem_malloc.dylib 0x00007fff8b0c41cb free + 428 5 libzmq.4.dylib 0x0000000112175c30 __gnu_cxx::new_allocatorstd::_Rb_tree_node<zmq::pipe_t*

::deallocate(std::Rb_tree_nodezmq::pipe_t* , unsigned long) + 32 (new_allocator.h:97) 6 libzmq.4.dylib 0x0000000112175c02 std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::Identityzmq::pipe_t_, std::lesszmq::pipe_t, std::allocatorzmq::pipe_t >::_M_put_node(std::Rb_tree_nodezmq::pipe_t* ) + 50 (stl_tree.h:373) 7 libzmq.4.dylib 0x0000000112175b61 std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::Identityzmq::pipe_t_, std::lesszmq::pipe_t, std::allocatorzmq::pipe_t ::M_destroy_node(std::Rb_tree_nodezmq::pipe_t* ) + 81 (stl_tree.h:404) 8 libzmq.4.dylib 0x0000000112175d1b std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::Identityzmq::pipe_t_, std::lesszmq::pipe_t, std::allocatorzmq::pipe_t ::M_erase(std::Rb_tree_nodezmq::pipe_t* ) + 91 (stl_tree.h:1328) 9 libzmq.4.dylib 0x00000001121759d5 std::Rb_tree<zmq::pipe_t, zmq::pipe_t, std::Identityzmq::pipe_t_, std::lesszmq::pipe_t, std::allocatorzmq::pipe_t >::clear() + 37 (stl_tree.h:714) 10 libzmq.4.dylib 0x00000001121758a2 std::Rb_tree, std::lesszmq::pipe_t, std::allocatorzmq::pipe_t >::erase(std::Rb_tree_iteratorzmq::pipe_t, std::Rb_tree_iteratorzmq::pipe_t) + 114 (stl_tree.h:1339) 11 libzmq.4.dylib 0x0000000112175785 std::Rb_tree, std::lesszmq::pipe_t, std::allocatorzmq::pipe_t >::erase(zmq::pipe_t* const&) + 101 (stl_tree.h:1277) 12 libzmq.4.dylib 0x000000011217551d std::set, std::allocatorzmq::pipe_t* ::erase(zmq::pipe_t* const&) + 29 (stl_set.h:373) 13 libzmq.4.dylib 0x000000011218a24f zmq::session_base_t::pipe_terminated(zmq::pipe_t ) + 303 (session_base.cpp:215) 14 libzmq.4.dylib 0x000000011218a38f non-virtual thunk to zmq::session_base_t::pipe_terminated(zmq::pipe_t) + 47 (session_base.cpp:230) 15 libzmq.4.dylib 0x000000011217fb93 zmq::pipe_t::process_pipe_term_ack()

  • 163 (pipe.cpp:313) 16 libzmq.4.dylib 0x000000011217840c zmq::object_t::process_command(zmq::command_t&) + 364 (object.cpp:108) 17 libzmq.4.dylib 0x0000000112169c2e zmq::io_thread_t::in_event() + 126 (io_thread.cpp:73) 18 libzmq.4.dylib 0x0000000112169d0c non-virtual thunk to zmq::io_thread_t::in_event() + 28 (io_thread.cpp:78) 19 libzmq.4.dylib 0x000000011216d6a3 zmq::kqueue_t::loop() + 803 (kqueue.cpp:199) 20 libzmq.4.dylib 0x000000011216d345 zmq::kqueue_t::worker_routine(void ) + 21 (kqueue.cpp:212) 21 libzmq.4.dylib 0x00000001121a246c thread_routine(void) + 284 (thread.cpp:82) 22 libsystem_pthread.dylib 0x00007fff8af96268 _pthread_body + 131 23 libsystem_pthread.dylib 0x00007fff8af961e5 _pthread_start + 176 24 libsystem_pthread.dylib 0x00007fff8af9441d thread_start + 13

I've seen it multiple times, stack trace was the same. However I didn?t find any reproducible patter before it happens.

Our application is cross-platform (Linux, Windows, OSX) but we never seen anything like that on other platforms.

— Reply to this email directly or view it on GitHub https://github.com/zeromq/zeromq4-x/issues/138.

hintjens avatar Aug 22 '15 18:08 hintjens