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

Python client leak on early Connection.close

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.28.0
    • proton-c-0.31.0
    • python-binding
    • None

    Description

      The Python client waits for completion of the outgoing TCP connection handshake before it fully configures its internal IO structures for the connection to do normal two way communication with the server. If a Connection.close() happens before the TCP handshake is complete, the incomplete nature of the IO setup is not properly taken into account on close and cleanup, resulting in leaked memory related to the Container and the Connection.

      The window for this problem is usually small, but not insignificant on some networks. It is trivial to reproduce if firewall tables are set up to drop packets.

      See reproducer https://bugzilla.redhat.com/show_bug.cgi?id=1810549#c3

      The bug also reproduces against the Proton example brokers. qpidd is not required.

      Attachments

        Issue Links

          Activity

            People

              cliffjansen Clifford Jansen
              cliffjansen Clifford Jansen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: