<div dir="ltr">Hi,<div><br></div><div>I'm new to this list (well, I'm new to anything ZeroMQ in fact).  I've searched for the past couple of days but could not find any information on this.</div><div><br></div>

<div>My client is using ZeroMQ with the java bindings for epgm communication, but when they run a UPD port scan on their machine, the application stops with an assertion error in the logs : Assertion failed: status == PGM_IO_STATUS_NORMAL (pgm_socket.cpp:627)</div>

<div><br></div><div>nmap command used : nmap -sU <IP> -v -n -p 5589</div><div>epgm is obviously listening on port 5589</div><div><br></div><div>By digging in the code, I discovered that OpenPGM returns a status code not handled by ZMQ.  In this case, nmap sends an empty UDP message and OpenPGM returns PGM_IO_STATUS_EOF in the pgm_recvmsgv function.  ZMQ then throws an assertion error and exits the process, which my client doesn't like at all!</div>

<div><br></div><div>By adding PGM_IO_STATUS_EOF in the if statements, I have been able to prevent the process to close, but I'm wondering if it could brake something else.  I also had to add the status code in the if statement of line 683 of pgm_socket.cpp to make it work.</div>

<div><br></div><div>I'm using ZMQ 4.0.4 source code on RedHat 6.4.</div><div><br></div><div>Frederic</div></div>