[release/10.0] Fix ProfileEnter when called on a foreign thread #119349
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #119327 to release/10.0
/cc @janvorli
Customer Impact
When customers run a .NET application under a profiler and the application code has methods marked by the
[UnmanagedCallersOnly]attribute that are called from foreign threads, the runtime crashes during the profiling.Regression - introduced in the .NET
Testing
CI testing
Risk
Low, it removes a call that has no effect when the profiled method is not marked as
[UnmanagedCallersOnly]and crashes in the problematic call. The switch to GC cooperative mode that was done by that calls occurs later in theProfileEnter.