[zeromq-dev] Assertion failed: ok (mailbox.cpp:84)

niXman i.nixman at gmail.com
Fri Feb 10 23:48:42 CET 2012


If you on linux system, run your program with strace: strace
executable -o logfile.log


2012/2/11 Marcin Olak <marcin.olak at gmail.com>:
> Hi guys,
> In my system under heavy load and heavy socket creation/destruction an assertion
> in mailbox.cpp:84 (zeromq-2.1.11) aborts the program. Any clues why this might
> hapenning?
> Setup I have is this:
> * 1400 threads, each owning a single REQ socket connected via inproc to queue
> device that is load balancing requests to a bunch of remote servers via tcp,
> * max_sockets in src/config.cpp is set to 1500,
> * I'm not migrating sockets across threads,
> * each socket is created using same context initialized with zmq_init(1),
> * in case of recv timeout I tear down a REQ socket.
> Usual advice in regard to this assertion is - "zmq sockets are not thread safe -
> use the socket in a single thread". I'm not (at least conciously) using them in
> multithreaded way. But assuming this is the reason any advices how could I trace
> down the culprits? I used following techniques:
> * I tried to catch the race condition red-handed using jinx debugger but to no
> avail,
> * I stuffed base_socket_t and mailbox with debug messages about current thread
> touching these objects and the socket for which assertion is triggered has been
> touched only by a single thread.
> Any advice will be greatly appreciated because. I'm basically banging my head
> against the wall after week of bug hunting...
> regards,
> Marcin Olak
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

More information about the zeromq-dev mailing list