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

transports closed due to decode error may emit a close frame without error condition

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: proton-j-0.33.2
    • Fix Version/s: proton-j-0.33.3
    • Component/s: proton-j
    • Labels:
      None

      Description

      When a decode error occurs while processing new input, the related transport is closed with the exception, which sets an error condition on the transport. Upon further processing of output, the transport emits a close frame.

      If the connection endpoint is bound to the transport at this point, the error condition object from the connection endpoint is used when generating the close frame, even if it contains no error detail (which it doesn't, unless explicitly set by the using code). The close frame emitted which is then emitted has no error condition, giving no indication to the peer (or those debugging the protocol interactions) of there being a problem or what cause it. In this case, sending detail from the transport error condition would be far more useful.

      Since the transport and connection form an overall unit in use, the handling should be updated to use the connection error condition only if its still bound and populated, but to otherwise use the transport error condition if set.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                robbie Robbie Gemmell
                Reporter:
                robbie Robbie Gemmell
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: