Uh oh!
There was an error while loading. Please reload this page.
Allow MethodDesc::GetILHeader to work correctly under rejit scenarios - #118465
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR fixes a BadFormatException that occurs when using ICorProfiler rejit to change the callset of a method in a different assembly. The issue was introduced by a previous change (#118318) and affects the MethodDesc::GetILHeader method in the CoreCLR runtime.
Key Changes:
- Reorders the RVA (Relative Virtual Address) validation check to occur after attempting to retrieve dynamic IL
- Ensures dynamic IL overrides are always checked before falling back to the original IL, even when RVA is 0
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
jkotas
commented
Aug 6, 2025
What's a callset of a method? |
That's a typo - it should be callsite not callset. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Internal Visual Studio diagnostic testing caught an issue related to ICorProfiler rejit changing the callsite of a method in a different assembly can result in a BadFormatException. Regressed by #118318