-
Notifications
You must be signed in to change notification settings - Fork 5k
Fix generation of minidump #115562
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 generation of minidump #115562
Conversation
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.
Pull Request Overview
This PR addresses a minidump generation issue by wrapping IL version method calls with a try-catch block to ensure that an exception in GetIL doesn’t prevent dumping a full callstack.
- Wraps GetIL and related ILCodeVersion calls in an exception block
- Uses EX_CATCH_RETHROW_ONLY_COR_E_OPERATIONCANCELLED to selectively rethrow only specific exceptions
Tagging subscribers to this area: @tommcdon |
/backport to release/9.0-staging |
/backport to release/8.0-staging |
Started backporting to release/9.0-staging: https://github.com/dotnet/runtime/actions/runs/15121700431 |
Started backporting to release/8.0-staging: https://github.com/dotnet/runtime/actions/runs/15121702986 |
This PR addresses a minidump generation issue by wrapping IL version method calls with a try-catch block to ensure that an exception in GetIL doesn’t prevent dumping a full callstack. Wraps GetIL and related ILCodeVersion calls in an exception block Uses EX_CATCH_RETHROW_ONLY_COR_E_OPERATIONCANCELLED to selectively rethrow only specific exceptions
This PR addresses a minidump generation issue by wrapping IL version method calls with a try-catch block to ensure that an exception in GetIL doesn’t prevent dumping a full callstack. Wraps GetIL and related ILCodeVersion calls in an exception block Uses EX_CATCH_RETHROW_ONLY_COR_E_OPERATIONCANCELLED to selectively rethrow only specific exceptions
When it's generating a minidump a failure was happening while calling ilVersion.GetIL(); then we are skipping saving all the rest of the information needed to run successfully the !clrstack command.
As we have others try catches in the code I thought that it's not a problem to add another one, then we will not save the IL correctly because the GetIL will throw an exception in a specific function but the minidump will be useful with a full callstack.