Hi,
This was a big from earlier this summer that I am still seeing. I am
observing an assert error in line rep.cpp:232 when connecting a REP
socket to bound XREQ socket.
I guess my first question is this: Is this combination of sockets
supported? That is, should this work?
Here is a description of when it shows up:
The following is observed on in the 2.0.x series (have not tried the 2.1x)
XREQ server REP client
=========== ==========
Case 1:
import zmq
c = zmq.Context()
s = c.socket(zmq.XREQ)
s.bind('tcp://127.0.0.1:5555')
import zmq
c = zmq.Context()
s = c.socket(zmq.REP)
s.connect('tcp://127.0.0.1:5555')
s.send('asdf')
s.recv() --> This gives...
Assertion failed: fetched (rep.cpp:232)
Abort trap
Case 2:
import zmq
c = zmq.Context()
s = c.socket(zmq.XREQ)
s.bind('tcp://127.0.0.1:5555')
s.send('asdf')
import zmq
c = zmq.Context()
s = c.socket(zmq.REP)
s.connect('tcp://127.0.0.1:5555')
s.recv() --> This gives
Assertion failed: fetched (rep.cpp:232)
Abort trap
Case 3:
import zmq
c = zmq.Context()
s = c.socket(zmq.XREQ)
s.bind('tcp://127.0.0.1:5555')
import zmq
c = zmq.Context()
s = c.socket(zmq.REP)
s.connect('tcp://127.0.0.1:5555')
s.recv() # This blocks
s.send('asdf') ------> Right as s.send('adsf') is called
Assertion failed: fetched (rep.cpp:232)
Abort trap
Some important points:
* Does not happen with client is an XREP, server is XREQ.
* Does not happen with client as REP, server as REQ.
Any help you can provide in debugging this would be greatly appreciated!
Thanks and cheers,
Brian
--
Brian E. Granger, Ph.D.
Assistant Professor of Physics
Cal Poly State University, San Luis Obispo
[email protected]
[email protected]
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev