-
Notifications
You must be signed in to change notification settings - Fork 5k
[release/8.0-staging] Enable TLS on linux/arm64 only for static resolver #106101
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] Enable TLS on linux/arm64 only for static resolver #106101
Conversation
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
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.
Approved.
Cc @carlossanlop, @jeffschwMSFT.
CC @dotnet/jit-contrib . |
Only failed test was browser-wasm which is known to sometimes fail by running too slow. I'm rerunning it, but it isn't an issue relevant to checking in. |
8912b21
into
dotnet:release/8.0-staging
Customer Impact
Backport of PR #106052 to release/8.0. This bug came to light as reported by a customer through Microsoft support (https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2094832).
The problem was that the code in the VM which decided that it was acceptable to optimize tls access in the JIT did not take into account that the runtime might be loaded in a mode where the TLS access would use the dynamic resolver instead of the static resolver.
Regression
This is a regression as the same scenario works properly in .NET 7 and .NET 6 versions. For context, it was accidentally introduced as part of implementing optimized TLS for arm64 in PR #87082
Testing
This was validated using a repro scenario built by the customer support team. This fix has already been accepted into the .NET 9 codebase.
Risk
This PR poses low risk to the product, and provides a new escape hatch for other issues coming from incorrectly optimized TLS access to provide a workaround for any related issues that may occur.