On 11/28/2014 2:03 PM, Stefan Kaes wrote:
I'm a bit confused now: does this mean no multi threaded application can use monitoring safely?
It appears that the order of events at the receive endpoint isn't guaranteed with more than one iothtread on a multi-cpu system. You can however have more than one iothtread on a multi-cpu system if you assign the process to only one cpu with a taskset -p or -c command.
But this isn't probably what you are looking for.
Francis


--- stefan

    This was in fact a scheduling issue, not a zeromq issue. The
    number of
    iothreads must be limited to one in order to process the
    accepted/disconnected/... events in te required order.
    Sorry for the noise.
    Francis

    On 11/20/2014 1:16 PM, Francis Le Bourse wrote:

        Hi,

        I have observed random crashs in zeromq, for example in
        mailbox::recv() at assert(ok), and double disconnect sequences on
        servers when monitoring is active
             - event_accepted(fd, addr)
             - event_disconnected(fd, addr)
             - a second event_disconnectd(same fd, addr) sometimes later.

        The attached test programs exhibits the issue after a few
        minutes. The
        most frequent error is the double disconnect but another
        random crash
        may occur.
        Start:
             ./tserver
             ./tclient

        Tested on Centos 6.5 and 6.6, zeromq-3.2.4, czmq-2.0.3

        Cheers,
        Francis



    _______________________________________________
    zeromq-dev mailing list
    [email protected] <mailto:[email protected]>
    http://lists.zeromq.org/mailman/listinfo/zeromq-dev



_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to