-
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
Fix handling ThreadAbortException at the end of catch #89781
Conversation
After the catch handler for ThreadAbortException exits, the exception needs to be rethrown immediatelly. This change makes that work.
This change was tested with a slightly modified. sample from an original #12739 on Linux amd64, macOS arm64. Linux Arm testing is in progress, I am stuck with some VS Code issues. |
Can we add a runtime/src/libraries/System.Runtime/tests/System/Runtime/ControlledExecutionTests.cs Line 13 in 6987b62
|
@jkotas we actually have a test like that, it just contains workaround for Unix. I just needed to remove that workaround. |
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Hmm, it seems that macOS x64 is failing in the test executing the new code path. I need to investigate it. |
The non-local label was preventing unwinding through \stub\()_RspAligned
I've found the macOS x64 issue - the non-local |
After the catch handler for ThreadAbortException exits, the
exception needs to be rethrown immediately. This was not
implemented on Unix and this change makes that work on
Unix amd64, arm64 and arm.
Close #72703