zeromq/zmqpp

Socket remains blocked on Receive

Mihai000000 opened this issue · 1 comments

Please use this template for reporting suspected bugs or requests for help.

Issue description

Following a "basic_filebuf::underflow error reading the file" exception, one of the sockets opened by zmq remains stuck, after the application resets itself. The only way to make the application work again is to reboot the testing device.

Environment

Architecture: i586
CPU op-mode(s): 32-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Vendor ID: Vortex86 SoC
CPU family: 5
Model: 2
Stepping: 2
CPU MHz: 800.007
BogoMIPS: 1600.01

Minimal test code / Steps to reproduce the issue

  1. std::shared_ptrzmqpp::socket m_socket;
  2. m_socket.reset(new zmqpp::socket(m_context, zmqpp::socket_type::dealer));
  3. m_socket->set(zmqpp::socket_option::linger, 0);
  4. m_socket->connect(BROKER.c_str());

What's the actual result? (include assertion message & call stack if applicable)

Software gets blocked, nothing happens in logs until an application reset.
By running the application with strace, it ends with:
connect(39, {sa_family=AF_INET, sin_port=htons(7505), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
recvmsg(39,

What's the expected result?

We should have a correct socket connection and the application should keep running.

vasid commented

I am having the same issue, can we have a hotfix anytime soon?