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/9.0] Backport PR #108311 - Fix statics issue with barriers #108347

Merged

Conversation

davidwrighton
Copy link
Member

Backport of #108311 to release/9.0

Customer Impact

  • Customer reported
  • Found internally

Applications unexpected crash during startup while attempting to access statics in heavily multithreaded applications. This causes instability for processes which engage in heavily threaded code which has usage of many static variables.

Regression

  • Yes
  • No

This was introduced with #99183 , and a previous fix was attempted #105832 . That previous fix was found to be insufficient.

Testing

A new stress test was written by @EgorBo that finally provided a reliable repro case for the failure in #105441 (comment) This reliable repro case was finally found yesterday. Previously we'd only observed the failure in CI, but the manifestation always used a non-live built version of the runtime.

Risk

Medium, additional correctness problems are unexpected, but there may be some performance impact. If this does not fix the issue, further investigation will be needed.

IMPORTANT: If this backport is for a servicing release, please verify that:

  • The PR target branch is release/X.0-staging, not release/X.0.

  • If the change touches code that ships in a NuGet package, you have added the necessary package authoring and gotten it explicitly reviewed.

* Fix statics issue with barriers

* Add barriers for RiscV and Loongson
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

1 similar comment
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

@jeffschwMSFT jeffschwMSFT added Servicing-consider Issue for next servicing release review area-VM-coreclr labels Sep 27, 2024
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

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

lgtm. we will take for consideration in 9 GA

Copy link
Contributor

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

@jeffschwMSFT jeffschwMSFT added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Oct 3, 2024
@jeffschwMSFT jeffschwMSFT merged commit 69db0ee into dotnet:release/9.0 Oct 3, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-VM-coreclr Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants