This is a backport PR for branch 45-x-y
ckerr

#54526: fix: detach interned string cache before isolate disposal

Merged
Created: Sep 28, 2026, 3:35:06 PM
Merged: Sep 28, 2026, 5:23:01 PM
1 comments
Target: 45-x-y

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 --check passed.
  • 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
ckerr
Original PR Status
Merged
Original PR Merged At
Sep 28, 2026, 2:52:47 PM
Original PR Link
GitHubView on GitHub

Semver 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