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
- libzmq version (commit hash if unreleased): 5.2.2
- libzmqpp version: 4.1.2
- OS:
- cat /etc/os-release
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo/Linux"
ANSI_COLOR="1;32"
HOME_URL="http://www.gentoo.org/"
SUPPORT_URL="http://www.gentoo.org/main/en/support.xml"
BUG_REPORT_URL="https://bugs.gentoo.org/"
Minimal test code / Steps to reproduce the issue
- std::shared_ptrzmqpp::socket m_socket;
- m_socket.reset(new zmqpp::socket(m_context, zmqpp::socket_type::dealer));
- m_socket->set(zmqpp::socket_option::linger, 0);
- 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.
I am having the same issue, can we have a hotfix anytime soon?