Skip to content

[4.0.4] Assertion failed: Successful WSASTARTUP not yet performed (..\..\..\src\signaler.cpp:134) #1144

Closed
@10-5

Description

@10-5

Win32, VS2010.

If a global zmq::context_t instance is defined in a dll, this assertion will fail when exiting:

Assertion failed: Successful WSASTARTUP not yet performed (..\..\..\src\signaler.cpp: 134)

call stack:

libzmq-v100-mt-gd-4_0_4.dll!zmq::zmq_abort(const char * errmsg_)  line 71 + 0x15 bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::signaler_t::send()  line 134 + 0x55 bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::mailbox_t::send(const zmq::command_t & cmd_)  line 56  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::ctx_t::send_command(unsigned int tid_, const zmq::command_t & command_)  line 327  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::object_t::send_stop()  line 183    C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::socket_base_t::stop()  line 162    C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::ctx_t::terminate()  line 134 + 0x16 bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq_ctx_term(void * ctx_)  line 171 + 0x8 bytes C++
libzmq-v100-mt-gd-4_0_4.dll!zmq_ctx_destroy(void * ctx_)  line 241 + 0x9 bytes  C++
ZeroMQ.dll!zmq::context_t::close()  line 304 + 0xe bytes    C++
ZeroMQ.dll!zmq::context_t::~context_t()  line 298   C++
ZeroMQ.dll!ZeroMQ::`dynamic atexit destructor for 'g_Context''()  + 0x28 bytes  C++
ZeroMQ.dll!_CRT_INIT(void * hDllHandle, unsigned long dwReason, void * lpreserved)  line 415    C
ZeroMQ.dll!__DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved)  line 526 + 0x11 bytes C
ZeroMQ.dll!_DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved)  line 476 + 0x11 bytes  C

Sometimes another assertion fails:

Assertion failed: Successful WSASTARTUP not yet performed (..\..\..\src\signaler.cpp: 209)

call stack:

libzmq-v100-mt-gd-4_0_4.dll!zmq::zmq_abort(const char * errmsg_)  line 71 + 0x15 bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::signaler_t::wait(int timeout_)  line 209 + 0x64 bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::mailbox_t::recv(zmq::command_t * cmd_, int timeout_)  line 72 + 0xf bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq::ctx_t::terminate()  line 142 + 0x11 bytes  C++
libzmq-v100-mt-gd-4_0_4.dll!zmq_ctx_term(void * ctx_)  line 171 + 0x8 bytes C++
libzmq-v100-mt-gd-4_0_4.dll!zmq_ctx_destroy(void * ctx_)  line 241 + 0x9 bytes  C++
ZeroMQ.dll!zmq::context_t::close()  line 304 + 0xe bytes    C++
ZeroMQ.dll!zmq::context_t::~context_t()  line 298   C++
ZeroMQ.dll!ZeroMQ::`dynamic atexit destructor for 'g_Context''()  + 0x28 bytes  C++
ZeroMQ.dll!_CRT_INIT(void * hDllHandle, unsigned long dwReason, void * lpreserved)  line 415    C
ZeroMQ.dll!__DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved)  line 526 + 0x11 bytes C
ZeroMQ.dll!_DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved)  line 476 + 0x11 bytes  C

If the global zmq::context_t instance is defined in the exe, everything is fine.

Metadata

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