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/7.0] [NativeAOT] do not do shutdown for the main thread on Windows #74712

Merged
merged 2 commits into from
Aug 29, 2022

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 27, 2022

Backport of #74679 to release/7.0

/cc @VSadov

Customer Impact

Lock-up at process exit.

The lock up is more likely to happen when process uses a lot of threads - like if running with ServerGC.

The issue here is that at some point in process shutdown some threads may be rudely terminated while holding thread store spinlock.
Yet the main thread (or more precisely the thread that initiated the shutdown) is still expected to exit normally. If this thread tries to take the TSL, the process locks up.

Testing

Stress-tested some library tests that are known to be affected via executing these tests hundreds of times in a loop with ServerGC/ConcurrentGC enabled.

Risk

Low for the currently supported scenarios.

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.

approved

@carlossanlop
Copy link
Member

Approved, signed off, CI green. Ready to merge. :shipit:

@carlossanlop carlossanlop merged commit dff9c90 into release/7.0 Aug 29, 2022
@carlossanlop carlossanlop deleted the backport/pr-74679-to-release/7.0 branch August 29, 2022 19:55
@ghost ghost locked as resolved and limited conversation to collaborators Sep 29, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants