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@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to