It is, as the documentation says sockets are not thread safe and must be created, used and closed from the same thread
http://api.zeromq.org/4-2:zmq-socket On Tue, 2017-05-09 at 16:00 +0200, Florian Bachmair wrote: > yes it is, but not at the same time. is that a problem? > > > On 09.05.2017 12:29, Luca Boccassi wrote: > > 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 > > > > [email protected] > > > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > > > _______________________________________________ > > > zeromq-dev mailing list > > > [email protected] > > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > > > > > > _______________________________________________ > > > zeromq-dev mailing list > > > [email protected] > > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > >
signature.asc
Description: This is a digitally signed message part
_______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
