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

[release/8.0-staging] [WinHttpHandler] Move _cachedSendPinnedBuffer ownership to WinHttpRequestState #102083

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented May 10, 2024

Backport of #101725 to release/8.0-staging

/cc @antonfirsov

Customer Impact

An internal customer reported a crash (Access Violation). According to our code analysis the crash is caused by a race between WinHttpRequestStream.WriteAsync and WinHttpRequestStream.Dispose, where Dispose might unpin the send buffer prematurely. The PR removes the race condition from which we expect that the AV will go away.

Regression

Not a regression

Testing

Unfortunately, we were not able to reproduce the issue locally, and the customer wasn't able to do validation for us.
We validated the presence of the fix in the resulting package with a disassembler.

Risk

Low. The change is an adaptation of the logic implemented in PR dotnet/corefx#6500 for .NET Core 1.0 (sending buffer side).

Copy link
Contributor

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

Copy link
Member

@wfurt wfurt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@antonfirsov
Copy link
Member

/azp run runtime-libraries-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@antonfirsov
Copy link
Member

/azp run runtime-libraries-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@antonfirsov
Copy link
Member

Approved over email. All test failures are unrelated.

@antonfirsov antonfirsov added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels May 14, 2024
@antonfirsov antonfirsov merged commit 98dd7f8 into release/8.0-staging May 14, 2024
107 of 118 checks passed
@jkotas jkotas deleted the backport/pr-101725-to-release/8.0-staging branch May 17, 2024 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Net Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants