[zeromq-dev] Assertion failed: pfd.revents & POLLIN (src/signaler.cpp:243)

Bachmair Florian - flexSolution GmbH florian.bachmair at flexsolution.eu
Fri Sep 29 11:38:04 CEST 2017


When I stop my application in roughly 1 out of 20 tries I get this error:

Assertion failed: pfd.revents & POLLIN (src/signaler.cpp:243) (here is 
the corresponding line of code: 
https://github.com/zeromq/libzmq/blob/v4.2.0/src/signaler.cpp#L243 )

      Stack trace of thread 8576:
          #0  0x00007f56d22a78a0 raise (libc.so.6)
          #1  0x00007f56d22a8f09 abort (libc.so.6)
          #2  0x00007f5686c7cc99 n/a 
          #3  0x00007f56d26255a0 _IO_2_1_stderr_ (libc.so.6)

Before I stop my application I disconnect from ALL publishers with

zsock_disconnect(subscriber, "tcp://%s:%d", c_ip, port);

after that I destroy my sockets and actors


    //this is never finished

I guess its a problem with stopping the actors, how do I propperly stop 
this actor?

void sub_actor(zsock_t *pipe, void *args) {
     zsock_signal(pipe, 0);
     while (!zsys_interrupted) {
         char* topic;
         char* timestamp;
         char* value;
         char* id;
         zsock_recv(subscriber, "ssss", &topic, &timestamp, &id, &value);

         onMessageReceived(topic, timestamp, id,value);

Thanks Florian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20170929/ce408598/attachment.htm>

More information about the zeromq-dev mailing list