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-staging] [Mono] Look for Native Signal SIMD Context #89568

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jul 27, 2023

Backport of #89467 to release/7.0-staging

/cc @fanyang-mono

Customer Impact

This PR contains the change to a customer reported issue (#62201). Without this change, an Arm64 Android app would crash when running on the x64 emulator with the debugger enabled. When an app is running in this environment, it looks like the struct sigcontext __reserved field is not laid out with the fpsimd_context first, which caused an assertion in Mono code base. With this PR, Mono doesn't assume the first item in __reserved is SIMD, instead it looks for it. If found, add SIMD registers information to MonoContext. If not found, fill the corresponding fields of MonoContext with zeros.

Testing

Manually tested on windows with Visual Studio 2022 by following the customer provided reproduction steps. (#62201 (comment))

All tests passed on CI.

Risk

Very low. This change only affects platforms which don't have SIMD registers, which is very rare. Plus, this change has been thoroughly tested both manually and automatically with CI.

@fanyang-mono fanyang-mono added the Servicing-consider Issue for next servicing release review label Jul 27, 2023
@carlossanlop carlossanlop added this to the 7.0.x milestone Jul 27, 2023
@fanyang-mono
Copy link
Member

fanyang-mono commented Jul 27, 2023

The crash happened on Libraries Test Run release mono Linux arm64 Debug is a known issue (#81123)
Wasm debugger test time out issue on Build Browser wasm Linux Release Mono_DebuggerTests_chrome is also a known issue (#89453)

@fanyang-mono fanyang-mono merged commit a75fb66 into release/7.0-staging Jul 27, 2023
@jkotas jkotas deleted the backport/pr-89467-to-release/7.0-staging branch July 31, 2023 22:53
@radical radical mentioned this pull request Aug 3, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 31, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-VM-meta-mono Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants