Uploaded image for project: 'AMQ Clients'
  1. AMQ Clients
  2. ENTMQCL-248

[proton-c] BlockingConnection spins at 100% CPU on reconnect

    XMLWordPrintable

Details

    • Release Notes
    • Hide
      The reading half of the pipe used to wake up from polling is closed when the timer is finalized. However an attempt is then made to close it once more when the reactor itself is finalized. If you create a new reactor, as Blocking Connection does, the new reactor (or its timer) may reuse a file descriptor previously associated with the read half of the pipe from the old timer. Consequently, the second close attempt on the read pipe closes a file descriptor that is now associated with some other context. This results in the reconnect spinning endlessly.

      This release includes an update that ensures the pipe is fully closed on finalizing the timer and the file descriptors are set to invalid to prevent an attempt to reclose them. Now, reconnecting with `BlockingConnection` works correctly and does not spin endlessly.
      Show
      The reading half of the pipe used to wake up from polling is closed when the timer is finalized. However an attempt is then made to close it once more when the reactor itself is finalized. If you create a new reactor, as Blocking Connection does, the new reactor (or its timer) may reuse a file descriptor previously associated with the read half of the pipe from the old timer. Consequently, the second close attempt on the read pipe closes a file descriptor that is now associated with some other context. This results in the reconnect spinning endlessly. This release includes an update that ensures the pipe is fully closed on finalizing the timer and the file descriptors are set to invalid to prevent an attempt to reclose them. Now, reconnecting with `BlockingConnection` works correctly and does not spin endlessly.
    • Documented as Resolved Issue

    Attachments

      Issue Links

        Activity

          People

            gordonsim Gordon Sim
            jross@redhat.com Justin Ross
            Radim Kubis Radim Kubis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: