Assertion failed: inout (zmq_engine.cpp:215)

Description

version: zeromq-2.0.10 (github checkout 2010-12-27 / zeromq-zeromq2-51d2d9b)

my server binds some tcp endpoints in the range 5500-5600, and when I run an nmap portscan against those ports, it crashes.

nmap -sV -n 172.xxx.xxx.xxx -p 5500-5600

Assertion failed: inout (zmq_engine.cpp:215)
Aborted (core dumped)

I believe the error() function should look something like this to prevent the error:

void zmq::zmq_engine_t::error ()
{
if (plugged)
{
zmq_assert (inout);
inout->detach ();
unplug ();
}
else
{
//do we need to detach the emphemeral here? probably not?
//zmq_assert (ephemeral_inout);
//ephemeral_inout->detach ();
}
delete this;
}

Environment

None

Activity

Show:
thijsterlouw
January 17, 2011, 8:52 AM

i've created a patch file and will mail it to the mailing list for review

testt
February 1, 2011, 10:27 PM

Github Username: bendiken

We're getting this same assertion, though with a slightly different line number, with ZeroMQ built from the 2.1.0 release tarball:

Assertion failed: inout (zmq_engine.cpp:198)

Should the suggested patch, above, work also if applied to 2.1.0, or would we need to either downgrade to 2.0.10 or run the HEAD version directly to work around this? Is there an ETA on 2.1.1?

thijsterlouw
February 2, 2011, 4:40 AM

You can use the latest (HEAD) version from GitHub, this commit from dhammika solved this issue for me:

https://github.com/zeromq/zeromq2/commit/c91bf25645b27fb903886093b27fa153c60be2fd

testt
February 2, 2011, 4:59 AM

Github Username: bendiken

Thanks, Thijs. We'll give that a shot.

Martin Sustrik
April 4, 2011, 11:55 AM

No response for two months. I assume the issue is fixed. Closing it.

Assignee

Unassigned

Reporter

thijsterlouw

Labels

None

Priority

Configure