mailbox_t::recv 中的 ZeroMQ 3.2.5 访问冲突

Access violation with ZeroMQ 3.2.5 in a mailbox_t::recv

我在使用 ZeroMQ 版本 3.2.5 时遇到此错误:

Unhandled exception at 0x00007FFCCA9395FC (KERNELBASE.dll) in [OURPROCESS].dmp: 0x40000015:  %hs (parameters: 0x00000000522694C0).

libzmq.dll!zmq::mailbox_t::recv(zmq::command_t * cmd_, int timeout_) Line 86    C++
libzmq.dll!zmq::socket_base_t::process_commands(int timeout_, bool throttle_) Line 855  C++
libzmq.dll!zmq::socket_base_t::getsockopt(int option_, void * optval_, unsigned __int64 * optvallen_) Line 291  C++
libzmq.dll!zmq_poll(zmq_pollitem_t * items_, int nitems_, long timeout_) Line 892   C++
[OURPROCESS]::QPoller::Poll(__int64 timeout) Line 63    C++

这只会在使用此进程的一台机器上持续发生。然而,没有检测到特定的模式。 Windows 使用的版本是Server 2012 R2。

你知道为什么会这样吗?唯一想到的是,也许那台机器没有插座了。然而,在使用 netstat 调查机器后,这似乎不太可能。

问题很可能是由于另一个进程占用了 0mq 在版本 3 中使用的端口 5905。

https://github.com/zeromq/libzmq/issues/1542