[zeromq-dev] rc == 0 (./zmq/mutex.hpp:94)

Aamir M aamirjvm at gmail.com
Mon Jul 13 16:36:06 CEST 2009


Hello,

We have a somewhat large/complex multi-threaded program that makes
heavy use of 0MQ for both process-scope and network-scope messaging.
Recently we implemented some changes and started seeing the following
error:

Success
rc == 0 (./zmq/mutex.hpp:94)
Aborted

0MQ is asserting on ./zmq/mutex.hpp:94 and aborting the program.
Before the 0MQ assert occurs, some other function is causing the word
"Success" to be printed onto the screen.

What could be causing this problem? It is proving very difficult to
debug this error because I have no idea which line triggers the
problem. Like any other bug related to a multi-threaded race
condition, the difficultly is compounded by the fact that the error
only occurs SOME of the time (i.e. it cannot be deterministically
reproduced).

Does anyone have any ideas on how to isolate the offending code? When
does 0MQ use this pthread mutex and how could this assert happen while
sending / receiving messages?

We have been careful to make sure that threads never share the same
zmq_api object ... each thread has its own instance of zmq_api, so I
don't think this could be the problem.

Thanks,
Aamir



More information about the zeromq-dev mailing list