[zeromq-dev] Assertion failed: !more || pipes [current] != pipe_ (..\..\..\src\fq.cpp:61)

Scott Asher scottpriceasher at gmail.com
Tue Dec 7 16:40:51 CET 2010

I've run into this assertion occasionally when I close sockets.   Questions
about both parts:

1) !more

Why do you care if there is part of a multi-part message still left on the
pipe enough to assert about it?  Maybe this should be a thrown error that
can be caught?  In my case I hit this because in my messaging system I read
a header first, leaving the rest of the message on the pipe to be read
slightly later.  Usually, the rest of the message does get read, but if my
messaging thread shuts down before I've read the rest of the message, it
will trigger this assert.  To get around this I've had to catch my own
interrupts and manually drop data from the pipes, which seems like something
I shouldn't have to worry about?  But maybe I'm missing something.

2) pipes [current] != pipe_

I've run into this a lot less often, but it happens really occasionally and
non-deterministically (which makes it very tough to debug).  Figured I would
mention it in case anyone had comments (about what could be going on).  If
it keeps up, I will try to produce a minimal test case.  Will require me
understanding the underlying code stack a lot better.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20101207/06271861/attachment.htm>

More information about the zeromq-dev mailing list