[zeromq-dev] zmq::mtrie_t::rm_helper(..)

Pau pau at teleopsia.com
Fri Mar 22 17:57:40 CET 2013

All this thread was a mistake, sorry about that.

What is actually happening in my application is that receiving an 
ZMQ_UNSUBSCRIBE in a socket that perhaps never received the 
corresponding ZMQ_SUBSCRIBE a zmq_assert is triggered.

bool zmq::mtrie_t::rm_helper (unsigned char *prefix_, size_t size_,
     pipe_t *pipe_)
     if (!size_) {
         if (pipes) {
             pipes_t::size_type erased = pipes->erase (pipe_);
             zmq_assert (erased == 1); <============================
             if (pipes->empty ()) {
                 delete pipes;
                 pipes = 0;
         return !pipes;

I have several applications publishing and several subscribing, both 
cases use one socket so when subscriber subscribes it is connected to 
various publishers and when unsubscribes also. I use PUB/SUB.
Is there any limitation?

I am facing some stress on that, so if someone has a clue about what 
generates the assert or what I am missing I would highly appreciate.


More information about the zeromq-dev mailing list