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

Proactor hangs if pn_raw_connection_wake() is called with outstanding connection attempt

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.38.0, proton-c-0.39.0
    • proton-c-0.39.0
    • proton-c
    • None

    Description

      If pn_raw_connection_wake() is called on a raw connection that is attempting to connect  no further proactor events are generated and the proactor hangs.

      Important observations:

      • This only occurs if there is no server available at the target address for the connection. If a server is present then the PN_RAW_CONNECTION_WAKE and PN_RAW_CONNECTION_CONNECTED events arrive properly (in that order).
      • The host address is "localhost" - using "127.0.0.1" or "::1" instead works. localhost on my machine maps to both "127.0.0.1" and "::1"
      • Extra bonus: if you move the call to pn_raw_connection_wake() to before the call to pn_proactor_raw_connect() a crash occurs

      See attached reproducer.

      Attachments

        1. raw_wake.c
          2 kB
          Ken Giusti

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: