[zeromq-dev] Odd crash on Mac OS X with ZeroMQ 4.0.6

Ilya Kulakov kulakov.ilya at gmail.com
Sat Aug 22 06:51:02 CEST 2015


Hi,

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_allocator<std::_Rb_tree_node<zmq::pipe_t*> >::deallocate(std::_Rb_tree_node<zmq::pipe_t*>*, unsigned long) + 32 (new_allocator.h:97)
6   libzmq.4.dylib                	0x0000000112175c02 std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::_M_put_node(std::_Rb_tree_node<zmq::pipe_t*>*) + 50 (stl_tree.h:373)
7   libzmq.4.dylib                	0x0000000112175b61 std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::_M_destroy_node(std::_Rb_tree_node<zmq::pipe_t*>*) + 81 (stl_tree.h:404)
8   libzmq.4.dylib                	0x0000000112175d1b std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::_M_erase(std::_Rb_tree_node<zmq::pipe_t*>*) + 91 (stl_tree.h:1328)
9   libzmq.4.dylib                	0x00000001121759d5 std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::clear() + 37 (stl_tree.h:714)
10  libzmq.4.dylib                	0x00000001121758a2 std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::erase(std::_Rb_tree_iterator<zmq::pipe_t*>, std::_Rb_tree_iterator<zmq::pipe_t*>) + 114 (stl_tree.h:1339)
11  libzmq.4.dylib                	0x0000000112175785 std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::erase(zmq::pipe_t* const&) + 101 (stl_tree.h:1277)
12  libzmq.4.dylib                	0x000000011217551d std::set<zmq::pipe_t*, std::less<zmq::pipe_t*>, std::allocator<zmq::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.


Best regards, 
Ilya Kulakov




More information about the zeromq-dev mailing list