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

Fix Win64 exception propagation in NativeCallable methods #33653

Merged

Conversation

janvorli
Copy link
Member

A recent change has removed the UMThunkStub usage for native callable
methods. That has broken handling of exceptions propagated from the
managed native callable method into the native caller in case there were
explicit frames below the native frame, like during the GC stress 3.

This change fixes it by unwinding the explicit frames upto the native
frame during the 2nd pass of exception handling when exception unwinding
passes through the frame of a native callable method and isn't handled
there.

A recent change has removed the UMThunkStub usage for native callable
methods. That has broken handling of exceptions propagated from the
managed native callable method into the native caller in case there were
explicit frames below the native frame, like during the GC stress 3.

This change fixes it by unwinding the explicit frames upto the native
frame during the 2nd pass of exception handling when exception unwinding
passes through the frame of a native callable method and isn't handled
there.
@janvorli janvorli added this to the 5.0 milestone Mar 16, 2020
@janvorli janvorli requested a review from jkotas March 16, 2020 22:29
@janvorli janvorli self-assigned this Mar 16, 2020
@janvorli
Copy link
Member Author

cc: @AaronRobinsonMSFT
Fixes part of #33613

@AaronRobinsonMSFT
Copy link
Member

Merging in first along with #33615 to address the various issues.

@AaronRobinsonMSFT AaronRobinsonMSFT merged commit 737e35e into dotnet:master Mar 17, 2020
gbalykov added a commit to gbalykov/runtime that referenced this pull request Apr 4, 2020
jkotas pushed a commit that referenced this pull request Apr 6, 2020
* Fix Linux x86 build

Related to #33005

* Fix Linux x86 build

Related to #33653, #33005

* Fix Linux x86 build

Related to #32250
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
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.

3 participants