Uh oh!
There was an error while loading. Please reload this page.
[release/8.0] JIT: add missing xarch RMW case - #92293
Conversation
Handle the case where we're indirectly updating a local with a value that is not a constant. Fixes#92218.
ghost
commented
Sep 19, 2023
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsBackport of #92252 to release/8.0 /cc @AndyAyersMS Customer ImpactTestingRiskIMPORTANT: If this backport is for a servicing release, please verify that:
|
AndyAyersMS
commented
Sep 19, 2023
@dotnet/jit-contrib PTAL |
jeffschwMSFT
left a comment
There was a problem hiding this comment.
approved. we will take for consideration in 8.0.x
carlossanlop
commented
Sep 19, 2023
The snap has been done, so if this is meant to go to RC2, please retarget the PR to release/8.0-rc2 . In case you don't know, you can edit the PR title and you'll see the option to retarget the PR branch. |
AndyAyersMS
commented
Sep 19, 2023
Yes, this is for RC2. Updated per your info -- thanks! |
carlossanlop
commented
Sep 20, 2023
Approved by Tactics via email. The RC2 branch had a generalized failure for which we just merged a fix, so I updated this branch to ensure we have a green CI before merging. |
Backport of #92252 to release/8.0
Fixes issue #92218
/cc @AndyAyersMS
Customer Impact
Unexpected null reference exception. Reported by customer via #92218 after testing .NET 8 RC1 on their app. This is a regression from .NET 7.
This issue might be hard for impacted customers to understand and work around.
Testing
Verified fix on customer-supplied test case. No SPMI diffs, passes jitstress.
Risk
Low. The underlying problem is a missing case in the "xarch" (x86/x64) code generator, in code where the user manages to indirectly modify one of the locals in a method via a "read modify write" update, eg
Current JIT behavior can lose track of the address to update, effectively turning this into silent bad code:
which when executed will cause a NRE.
The fix adds support for this missing case.