Skip to content
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

[release/8.0] Avoid allocating collectible instances in the frozen heap (#100444) #100509

Merged

Conversation

jkotas
Copy link
Member

@jkotas jkotas commented Apr 2, 2024

Backport of #100444 to release/8.0-staging

Customer Impact

  • Customer reported
  • Found internally

Intermittent crashes and memory leaks in complex scenarios involving collectible assemblies.

Regression

  • Yes
  • No

Regression introduced by new JIT optimization in .NET 8.

Testing

Targeted test crashing or failing before the fix, passing with the fix. Also, customer verified the fix.

Risk

Low. The fix is to suppress the new JIT optimization for shared generic code.

#100444)

* Fix allocation of empty array in the frozen heap for collectible types (#100437)

* Remove Optimize from csproj

* Add test for generic with static

* Apply suggestions from code review

* Better test

* Disable tests on Mono

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Apr 2, 2024
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. we will take for consideration in 8.0.x

@jeffschwMSFT jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Apr 2, 2024
@jeffschwMSFT jeffschwMSFT added this to the 8.0.x milestone Apr 2, 2024
@rbhanda rbhanda modified the milestones: 8.0.x, 8.0.5 Apr 2, 2024
@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Apr 2, 2024
@jkotas jkotas merged commit 7ae2d00 into release/8.0-staging Apr 4, 2024
117 of 124 checks passed
@jkotas jkotas deleted the backport/pr-100444-to-release/8.0-staging branch April 17, 2024 01:25
@github-actions github-actions bot locked and limited conversation to collaborators May 17, 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