-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[release/9.0-staging] Bugfix InvalidOperationException/IndexOutOfRangeException in HttpListener.EndGetContext #110695
[release/9.0-staging] Bugfix InvalidOperationException/IndexOutOfRangeException in HttpListener.EndGetContext #110695
Conversation
…ust have exclusive access
Tagging subscribers to this area: @dotnet/ncl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like we could have used DisconnectResults
directly, there was no need to put it into a variable - that is a cosmetic change.
The real meaningful change is protecting the dictionary from unlocked access - which happened in 2 places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would would work even without using local variable disconnectResults
however using it will not harm anything and could have slightly better runtime performance by not calling DisconnectResults
getter multiple time.
Changes looks safe and correct to me.
It is worth fixing in servicing to unblock customers. Marking as such. |
The reason behind the local variable is that the getter results in a Volatile.Read. Which makes it more expensive. |
…/9.0-staging
Approved by .NET Shiproom (@SteveMCarroll) over email on 1/8. Marking Servicing-approved. |
/ba-g failing flaky tests most probably unrelated to changes of this PR |
Backport of #107804 to release/9.0-staging
Fixes #107025
/cc @rokonec @pjannesen
Customer Impact
Reported by customer in #107025. Affects their admin access to services - causes reliability problem.
Regression
From .NET Framework
Testing
Note: The problem is intermittent and hard to reproduce.
Manual testing has been performed - customer validated with private patch prior to submitting .NET 10 PR - see #107025 (comment)
Risk
Low - these simple changes do not add or modify complex logic