Skip to content

Socket remains blocked on Receive #251

Open
@Mihai000000

Description

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.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions