Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible QuicConnection leak #80172

Closed
pepone opened this issue Jan 4, 2023 · 4 comments · Fixed by #82261
Closed

Possible QuicConnection leak #80172

pepone opened this issue Jan 4, 2023 · 4 comments · Fixed by #82261
Assignees
Milestone

Comments

@pepone
Copy link
Contributor

pepone commented Jan 4, 2023

This method is called during the disposal of the listener.

await _finishHandshakeTask.Task.ConfigureAwait(false);

If the _finishHandshakeTask task has already been completed successfully the QuicConnection held by this task is never disposed of, and this is the only reference left to it.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jan 4, 2023
@ghost
Copy link

ghost commented Jan 4, 2023

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

This method is called during the disposal of the listener.

await _finishHandshakeTask.Task.ConfigureAwait(false);

If the _finishHandshakeTask task has already been completed successfully the QuicConnection held by this task is never disposed of, and this is the only reference left to it.

Author: pepone
Assignees: -
Labels:

area-System.Net.Quic

Milestone: -

@ManickaP ManickaP added bug and removed untriaged New issue has not been triaged by the area owner labels Jan 4, 2023
@ManickaP ManickaP added this to the 8.0.0 milestone Jan 4, 2023
@ManickaP
Copy link
Member

ManickaP commented Jan 4, 2023

Triage: looks like a legitimate bug, we should confirm this and fix it. It should be fairly simple fix.

@halter73
Copy link
Member

halter73 commented Jan 4, 2023

There seems to be a similar issue any time PendingConnection.FinishHandshakeAsync gets canceled. While not ideal, hopefully the MsQuicContextSafeHandle at least cleans things up in either case, right?

@ManickaP
Copy link
Member

ManickaP commented Jan 5, 2023

Yep and yep, problem is the same with cancellation, and MsQuicContextSafeHandle cleans up eventually, after GC collects the main object.

@ManickaP ManickaP self-assigned this Jan 16, 2023
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Feb 16, 2023
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Feb 20, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Mar 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants