Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
proton-0.16.0
-
None
Description
If you take libuv_recv example C program and set up a "server" with
$ nc -l 5672 < leak-f1c681da874efe3b168d6bd00e1de53c5a3823ea
and then run
$ ./libuv_recv -a 127.0.0.1:5672/jms.queue.example [0x69ab390]:Error decoding frame: PN_UNDERFLOW not enough data to decode \x00S\x12\xc04\x0a\xa1\x0bmy_receiverCBP\x02\x00\x00\x00S(\xc0\x14\x01\xa1\x11jms.queue.example\x00S)E@BC
then libuv_recv does not quit even after I kill the "server" with ^C (which should close the socket). This happens with all C example receivers. It does not happen with examples/python/simple_recv, which just disconnects and then keeps trying to reconnect. I am not sure if the disconnect behavior is just missing from the C clients (in that case it is not a big deal) or if it gets stuck somewhere deeper in proton-c (in which case it may actually impact someone).