Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1357

Example C clients do not disconnect on protocol errors

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: proton-0.16.0
    • Fix Version/s: proton-c-0.18.0
    • Component/s: examples, proton-c
    • Labels:
      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).

        Attachments

          Activity

            People

            • Assignee:
              aconway Alan Conway
              Reporter:
              jdanek Jiri Daněk
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: