[zeromq-dev] Assertion failed on invalid arguments

Ori Barak oribarak at microsoft.com
Tue Jun 2 16:56:20 CEST 2015


I can test it on our prod servers. Can you point me to the problematic code so that I can add some debug outputs?

On Jun 2, 2015, at 16:40, Pieter Hintjens <ph at imatix.com<mailto:ph at imatix.com>> wrote:

The assertion failure is libzmq not knowing how to deal with the
error. In any case it should be handling whatever error codes you get.
The design seems valid. We'd have to debug to see why Windows
complains.

On Tue, Jun 2, 2015 at 2:53 PM, Ori Barak <oribarak at microsoft.com<mailto:oribarak at microsoft.com>> wrote:
Thanks for the fast replay Pieter,

If this is an error coming from the setsockopt call then it might be related to our reconnect mechanism that creates a new socket every 3 seconds and try to set the options on it.

Our reconnect cycle looks pretty much like this:

socket.disconnect
socket.close

socket = new socket()

socket. Setsockopt(SNDBUF)
socket. Setsockopt(SNDHWM)
socket. Setsockopt(LINGER)

socket.connect(endpoint)

As I mentioned this cycle repeats every 3 seconds and we see process crashes every couple of minutes.

Is this design valid or can this set of repeating operation might cause crashes?

Thanks,
Ori

-----Original Message-----
From: zeromq-dev-bounces at lists.zeromq.org<mailto:zeromq-dev-bounces at lists.zeromq.org> [mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Pieter Hintjens
Sent: Tuesday, June 2, 2015 11:15 AM
To: ZeroMQ development list
Subject: Re: [zeromq-dev] Assertion failed on invalid arguments

Looks like an error in the Windows code, getting WSAEINVAL on that setsockopt call.

We'd have to find out what the actual cause it; perhaps you can patch your code to print the arguments sent to the setsockopt call, when such an error happens.

Simply ignoring the error is also possible yet that would probably lead to inconsistent behavior and lost messages. It's better to be sure of what's going on here.

-Pieter

On Tue, Jun 2, 2015 at 9:45 AM, Ori Barak <oribarak at microsoft.com<mailto:oribarak at microsoft.com>> wrote:
Hi,



We have two production services which uses ZMQ push pull sockets to
communicate.

We used ZMQ 3.2.3 and clrzmq running on windows server 2012 for a
while and as the traffic increased and perhaps the hosting environment
has changed (OS version changes and networking topology) we started
noticing that the sending process is crashing from time to time (Every
couple of minutes)



I upgraded ZMQ to the latest stable version (4.1.0.15) and switched to
use
clrzmq4 but I'm still seeing the same crashes as before.



The properties we set on the push sockets are: BufferSize: Int.max,
HighWatermark: 10000000, Linger: 1 sec

Also since the sender is connected to a load balancer we manually
reconnecting the sockets every 3 seconds to get a health receiver machine.



The process crashes silently and the error message printed is:
Assertion
failed: Invalid argument (..\..\..\..\src\tcp.cpp:48)

When looking at the event viewer I see this error:



Faulting module name: KERNELBASE.dll, version: 6.2.9200.16864, time stamp:
0x531d34d8

Exception code: 0x40000015

Fault offset: 0x0000000000047b8c

Faulting process id: 0xa88

Faulting application start time: 0x01d09cf8127ac087

Faulting module path: C:\Windows\system32\KERNELBASE.dll

Report Id: ab433e69-08ec-11e5-93f6-008cfa0438b3

Faulting package full name:

Faulting package-relative application ID:



I saw that there are some known issue on 'Assertion failed: Invalid
arguments' at  https://zeromq.jira.com/browse/LIBZMQ-207 and
https://zeromq.jira.com/browse/LIBZMQ-526

But they are both seem to be closed as fixed.



Any idea how I can further investigate the problem?



Thanks,

Ori




_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org<mailto:zeromq-dev at lists.zeromq.org>
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org<mailto:zeromq-dev at lists.zeromq.org>
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org<mailto:zeromq-dev at lists.zeromq.org>
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org<mailto:zeromq-dev at lists.zeromq.org>
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150602/9b97bf64/attachment.htm>


More information about the zeromq-dev mailing list