2011/10/17 Gábor Farkas <[email protected]>:> hi,>> i have an application in python, using PUSH/PULL zmq sockets, on freebsd.>> sometimes the process with the PUSH socket dies with this message:>> Exception zmq.core.error.ZMQError: ZMQError() in> <zmq.core.socket.Socket object at 0x80d0c12b8> ignored> Bad file descriptor> rc != -1 (kqueue.cpp:67) hi all,
it was not a problem with zeromq, sorry that i wasted your time. the problem was a combination of zeromq + process-forking. basically i was doing zeromq in a gunicorn-based application. gunicorn is a http-server written in python, and it works by having a master process, that forks worker-processes that handle the http-requests. i am using zeromq in the worker-processes (to send logging-data to a logging-server), and the problem happened when zeromq was (accidentally) initialized in the master process and then a worker process was forked from it. at this point, something happened, and the master process died with an assertion-failed. i am still not 100% sure exactly which line of code caused the problem (it's a python application, and the crash in the master-process happens when the worker-process returns from a function call), but i was able to eliminate the problem by making sure that the master-process does not initialize zeromq (the worker does). this way it works fine. thanks for all the help, gabor farkas _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
