-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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] correctly initalize CONTEXT before failing fast #81837
Conversation
Co-authored-by: Vladimir Sadov <vsadov@microsoft.com>
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsBackport of #81010 to release/7.0 /cc @jkotas @AustinWise Customer ImpactTestingRiskIMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.
|
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. we will take for consideration in 7.0.x
@janvorli @jkotas Don't forget to add the CI results are known and unrelated: #81544 #81391. We merged a fix for them a few hours after this PR was created: #81712. |
I have sent email yesterday and it has been approved already. |
@jkotas Found it. Weird, Outlook wasn't finding the email by title, but I was able to find it by sender. Approved by Tactics for 7.0.4. |
Backport of #81010 to release/7.0
/cc @jkotas @AustinWise
Customer Impact
Crash dumps of native AOT processes are undebuggable. The debugger does not show the stacktrace of the crash.
The problem is caused by uninitialized fields of CONTEXT structure, and thus it is non-deterministic. It seems to be more likely to happen on Windows 11 22H2.
Testing
Verified that the crash dump is diagnosable using deterministic repro (thank you @AustinWise for creating one!)
Risk
Low. The fix affects code path is only executed right before the process is about to crash.