quinn: endpoint_wait_idle
failing test
#2146
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I found what I think is a bug in quinn, and this PR adds a test illustrating the bug.
The
endpoint_wait_idle
test shows that if an endpoint attempts to connect to an address, but the connection never gets beyond theConnecting
stage, it causes thewait_idle
call (when trying to gracefully shutdown the endpoint) to always take around 3s to return.I ran into this personally when a call to
Endpoint::connect
was made in a task that was aborted early. Suddenly, calls towait_idle
were taking around 3s, when they were previously <200ms.I'm hoping to get insight on to what could be causing this, so that either I can take a stab at fixing, or someone with more quinn experience can.