[zeromq-dev] Assertion failed: false (src/pipe.cpp:429) on disconnecting a SUB Socket.

Luca Boccassi luca.boccassi at gmail.com
Tue May 9 12:29:52 CEST 2017


Is the same socket being used from multiple thread?

On Tue, 2017-05-09 at 08:01 +0200, Bachmair Florian - flexSolution GmbH
wrote:
> further output
> 
> Assertion failed: false (src/pipe.cpp:429)
> 
> #0  0x63835c6c in /home/flex/core-
> 1.0.0/emerson2/lib/native/libzmq.so 
> (zmq::zmq_abort(char const*)+0x8)
> #1  0x63846718 in /home/flex/core-
> 1.0.0/emerson2/lib/native/libzmq.so 
> (zmq::pipe_t::terminate(bool)+0x84)
> #2  0x63857e58 in /home/flex/core-
> 1.0.0/emerson2/lib/native/libzmq.so 
> (zmq::socket_base_t::term_endpoint(char const*)+0x19c)
> #3  0x638bfc0c in /home/flex/core-
> 1.0.0/emerson2/lib/native/libczmq.so 
> (zsock_disconnect+0x48)
> 
> 
> On 2017-05-09 07:23, Bachmair Florian - flexSolution GmbH wrote:
> > Hi!
> > I'm using a JNI Wrapper to use czmq.(with the latest libzmq and
> > czmq 
> > from git,compiled yesterday on an arm)
> > Don't know if this is just a coincidents but this is how I
> > reproduce 
> > the error:
> > 
> >   * start all Applications(6) (on the same host) they connect to
> > each
> >     other via TCP automatically
> >   * If I restart 2 applications at the same time, they may get new
> >     Ports, the other applications do recognize that(every
> > Application
> >     announces their ports via multicast) and disconnect from the
> > old,
> >     now invalid socket
> >   * 1-2 of the Applications crashes with the error Assertion
> > failed:
> >     false (src/pipe.cpp:429) when they try to close the socket.
> > 
> > Any Idea what I am doing wrong here?
> > 
> > 
> > JNIEXPORT void JNICALL 
> > Java_lib_zmq_ZeroMQNative_native_1disconnect(JNIEnv * env, jobject 
> > object, jstring ip, jint port) {
> > // ===============================================
> > // Convert Java Objects to C
> > // ===============================================
> >     puts("debug 1");
> >     fflush(stdout);
> >     const char* c_ip = (*env)->GetStringUTFChars(env, ip, 0);
> >     printf("debug 2: %s:%d \n",c_ip,port);
> >     fflush(stdout);
> > // ===============================================
> > // Disconnect from tcp://ip:port
> > // ===============================================
> >     zsock_disconnect(subscriber, "tcp://%s:%d", c_ip, port);
> >     //Assertion failed: false (src/pipe.cpp:429)
> > 
> >     puts("debug 3");
> >     fflush(stdout);
> > // ===============================================
> > // Free Resources
> > // ===============================================
> >     (*env)->ReleaseStringUTFChars(env, ip, c_ip);
> >     puts("debug 4");
> >     fflush(stdout);
> > }
> > 
> > 
> > _______________________________________________
> > zeromq-dev mailing list
> > zeromq-dev at lists.zeromq.org
> > https://lists.zeromq.org/mailman/listinfo/zeromq-dev
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20170509/be2b7d40/attachment.sig>


More information about the zeromq-dev mailing list