| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
The wrapper was relatively recently changed to icall into mono_get_addr_compiled_method in order to obtain a native function pointer to call using calli. This is incorrect on interpreter where we expect an `InterpMethod*`. This commit adds a new opcode instead, that on jit it goes through the same icall path, while on interpeter in similarly computes the appropiate method to call. On a separate track, it might be useful to investigate whether the necessary delegate invoke wrapper should have been present in the aot image and not be executed with the interpreter in the first place.
|
Tagging subscribers to this area: @BrzVlad, @kotlarmilos |
Sorry, something went wrong.
|
merge it? |
Sorry, something went wrong.
|
/ba-g BA showing all known test errors. |
Sorry, something went wrong.
|
@kotlarmilos @BrzVlad Hey, as was also written (but for 8.0.14) in #112008 (comment) I cannot see that this change is on the 9.0.3 release. Is this intentional? |
Sorry, something went wrong.
|
@carlossanlop Do you have more info on this ? |
Sorry, something went wrong.
|
This unfortunately got merged after the 9.0.3 window closed. It'll be in 9.0.4. |
Sorry, something went wrong.
|
@BrzVlad @steveisok Ah okay, that's unfortunate. Is that also the case for the 8.0.14 window? I.e. that it will come out with 8.0.15 instead? |
Sorry, something went wrong.
|
Yes, same case for 8.0.15. All servicing branches have the same code complete date. |
Sorry, something went wrong.
|
The efficiency is really too low, one and half month has passed and there is still no patch. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Backport of #111310 to release/9.0-staging
/cc @BrzVlad
Customer Impact
This issue was customer reported #110995. It impacts customers using reflection to obtain the value of a virtual property, on iOS. This reflection capability requires fallback to interpreter, where the app crash occurs in this scenario.
Regression
This is a regression introduced in .NET8. The runtime bug causing the crash was introduced in #83461, but it seems there might have been additional changes leading to the crash actually reproducing to customers.
Testing
The fix was verified on the customer provided sample application. CI testing confirmed that JIT/AOT paths haven't been impacted.
Risk
Low risk. This commit contains a change to the IL code of a specific delegate invoke wrapper. For the interpreter, the previous path was crashing every time, so this fix can only make things better. For the rest of the execution engines (jit/aot) the change represents a minimal refactoring that shouldn't have any side effects.
Package authoring no longer needed in .NET 9
IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older versions.