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/6.0-staging] Sys.RT.Caching.MemoryCache - Remove unhandled exception handler #106220

Draft
wants to merge 2 commits into
base: release/6.0-staging
Choose a base branch
from

Conversation

StephenMolloy
Copy link
Member

  • Description - Timer was updated in 5.0 to improve performance, but is prone to deadlocks when manipulated in an unhandled exception handler. Which MemoryCache does. And MemoryCache is probably more likely to witness unhandled exceptions like OOM than typical code.
  • Customer Impact - The deadlock was affecting a first-party team (running services on Substrate) from migrating to .Net 6 and 8.
  • Regression? - Yes, since .Net 5.0. And also a regression from NetFx.
  • Risk Low.

Original Issue: #64115 (and #102666)
.Net 9.0 PR: #105853
(This was originally fixed in 9.0 with #103937, but after discussion with servicing shiproom, we have decided on a different approach. These servicing PR's are minimal and do not include the removal of the AppDomain.DomainUnload handler, per this comment.)

System.Runtime.Caching is an OOB package that ships alongside the runtime.

@carlossanlop
Copy link
Member

@StephenMolloy Friendly reminder that Code Complete for the October Release is September 9. If you want this fix to be included in that release, please merge this PR before that date. Otherwise, it will have to wait until November.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants