[zeromq-dev] debugging a frozen zeromq ipc socket

Sandeep Joshi sanjos100 at gmail.com
Thu May 29 12:46:24 CEST 2014


I am using the FreeLance pattern described in the Chapter 4 of the guide.

Running zeromq-3.2.3.

Within a process, there are many threads using REQ sockets connected
over an internal pipe (ipc://) to a ROUTER socket (ipc://) which in
turn resends the requests to another process using another ROUTER
socket (tcp://)

The pipeline chugs along fine, but occassionally it hangs and "ss -t"
shows that the Send-Q on the sender is frozen and the retransmission
timeouts keep rising.

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
ESTAB      0      13670       192.168.2.110:47796        192.168.2.160:55550

The packets are not getting sent out to the other process which sits idle.

I suspect some concurrency problem within the application is causing this hang.

How do I dump the state of those internal pipes (REQ-ROUTER) sockets
using some standard Unix command or some internal zeromq function ?

Is there any way to dump the messages which are stuck in that send queue ?

-Sandeep



More information about the zeromq-dev mailing list