Does anyone have some insight as to how this assert could fail if multipart 
messages are all-or-nothing?



-------- Original message --------
From: Stew Scott <[email protected]>
Date: 12/21/2013 12:07 PM (GMT-07:00)
To: [email protected]
Subject: [zeromq-dev] Failed assert in fq.cpp line 102


We are using a dealer socket on the client side and a router socket on the 
server side in version 3.2.3. For each inbound client connection, the server 
creates an outbound dealer back to the client (which has a router also). When 
we ramp up, we get the failed assert at about the 2800 client mark 
consistently. It happens when one of the server’s outbound dealer sockets is 
attempting to read.

In looking at the code, it appears the assert fires if we are retrieving a 
multipart message and the fetch of one of the parts from the pipe fails. There 
was a similar problem with PUB/SUB a couple of years ago where an assert would 
fire if the underlying socket connection dropped while fetching a multipart 
message, but I am not sure if they are exactly the same. I found a reference in 
the documentation that suggests that multipart messages are fetched 
all-or-nothing, and it should not be possible to fail in this manner.

Can someone with more familiarity with this part of the code tell me under what 
conditions this assert would fire?

Stew Scott
Core Engineer
Mob 303.521.8755
[email protected]
1001 Seventeenth Street, Suite SL-100
Denver, Colorado 80202
Tel 720.399.0485
Fax 866.480.6593
www.aventurahq.com
[Aventura_orange_200px]

<<inline: image003.jpg>>

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to