Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Aug 21, 2024

Backport of #106732 to release/9.0

A customer reported issue (#106607) where an obfuscated app spins forever due to an infinite loop in JIT. It seems that the IL obfuscator is the culprit here since it generated a quite absurd (but valid) IL that JIT had no test coverage for. It is very unlikely it's possible to generate a similar pattern with plain C# since Roslyn does constant folding and overshift handling even for Debug.

/cc @EgorBo

Customer Impact

  • Customer reported
  • Found internally

Impact: IL obfuscators may lead to freezes in the resulting app

Regression

  • Yes (Regressed in .NET 7.0)
  • No

Testing

A test is added. It's unlikely to be possible to hit it with plain C#.

Risk

Low

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 21, 2024
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved. once ready we can merge

@jeffschwMSFT jeffschwMSFT added the Servicing-approved Approved for servicing release label Aug 22, 2024
@JulieLeeMSFT
Copy link
Member

Ping @AndyAyersMS for code review for rc2 backport.

@jeffschwMSFT jeffschwMSFT merged commit 0128ecb into release/9.0 Aug 22, 2024
@jkotas jkotas deleted the backport/pr-106732-to-release/9.0 branch August 24, 2024 04:47
@github-actions github-actions bot locked and limited conversation to collaborators Sep 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants