[zeromq-dev] (py)zmq PUSH/PULL, freebsd, kqueue error

Chuck Remes cremes.devlist at mac.com
Mon Oct 17 15:43:23 CEST 2011


On Oct 17, 2011, at 3:59 AM, Gábor Farkas wrote:

> 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)
> 
> the package-versions are:
> zmq-2.1.7
> py26-pyzmq-2.1.1
> freebsd-8.2


I have seen a similar problem on OSX which also uses kqueue. I'll get a periodic crash at kqueue.cpp:78 (this is using 0mq 2.1.10).

I have been unsuccessful in writing C code to reproduce the issue. However, I *do* have a workaround.

Rebuild the library and force the use of poll(). That cures the issue (obviously, since we are no longer using the kqueue code paths).

export CXXFLAGS=-DZMQ_FORCE_POLL
./configure
make

Good luck.

cr




More information about the zeromq-dev mailing list