libzmq: Problem: UDP engine aborts on networking-related errors from socket syscalls

Description

I have a dish socket bind to a multicast address. And dish socket receiving messages in a while loop. It works fine when there is an Ethernet interface is up. I did sudo ifconfig enp7s0 0.0.0.0 and observed the following:

No such device (src/udp_engine.cpp:142)
Aborted (core dumped)

I am using this dish socket in an application in which the ip address of the interface often becomes 0.0.0.0. Is there any way I could exit the while loop safely without core dumping the entire application?

Environment

  • Version: Zeromq 4.2.1
  • OS: Ubuntu 16.04

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 15 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Great, happy you found a workaround and thanks for sharing it.

I’ll reopen and retitle the issue, as the UDP implementation should be hardened anyway before it can be declared stable.