This is a backport PR for branch 45-x-y
#54526: fix: detach interned string cache before isolate disposal
Merged
Backport of #54520
See that PR for details, the raw_ptr diagnostic, and the before/after runtime validation on main.
Backport notes
Cherry-picked 8b85bb4, retaining the no-op OnBeforeMicrotasksRunnerDispose() override required by the gin compatibility patch on 45-x-y. This extra callback caused the automatic cherry-pick conflict. The fix and subprocess regression are otherwise unchanged.
This PR does not change the raw_ptr build flags.
Validation
- Compared the backport against the upstream commit: identical additions and removals in both files, with only hunk context differing around the retained callback.
git diff --checkpassed.- Targeted C++ lint, clang-format, TypeScript lint, and formatting checks passed.
- No Electron 45 build, type-check, or runtime tests were run. The before/after runtime validation in #54520 was on main, not Electron 45. This backport was prepared in a separate Electron-only checkout without syncing Chromium or modifying the shared main checkout.
Notes: Fixed a potential crash during application shutdown.
Backport Information
Original PR Author
ckerrOriginal PR Status
Merged
Original PR Merged At
Sep 28, 2026, 2:52:47 PM
Original PR Link
View on GitHubSemver Impact
Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron