fix: re-entrancy issues in webContents.loadURL()#48004
Merged
Conversation
fea6b9f to
e351bf9
Compare
dsanders11
reviewed
Aug 8, 2025
Member
dsanders11
left a comment
There was a problem hiding this comment.
Is this an edge case we could craft a test case for?
deepak1556
approved these changes
Aug 9, 2025
Member
deepak1556
left a comment
There was a problem hiding this comment.
LGTM on the implementation
Member
Author
|
@dsanders11 added two more cases I think should cover it! |
e351bf9 to
7f0c3e9
Compare
jkleinsc
approved these changes
Aug 11, 2025
|
Release Notes Persisted
|
This was referenced Aug 11, 2025
Contributor
|
I have automatically backported this PR to "38-x-y", please check out #48043 |
Contributor
|
I have automatically backported this PR to "36-x-y", please check out #48044 |
Contributor
|
I have automatically backported this PR to "37-x-y", please check out #48045 |
kigh-ota
pushed a commit
to kigh-ota/electron
that referenced
this pull request
Sep 30, 2025
fix: re-entrancy issues in webContents.loadURL()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Change
Closes #40809
This fixes a crash possible when calling
webContents.loadURL()from a failed call's catch handler. Essentially, a re-entrant navigation triggered from thedid-start-navigationevent causes the in-flightNavigationRequestto be destroyed before Chromium marks it safe, tripping theis_safe_to_delete_DCHECK here.Fix this by monitoring potential re-entrancy sites and failing if we try to call
loadURLagain at a dangerous time.Checklist
npm testpassesRelease Notes
Notes: Fixed a crash possible when calling
webContents.loadURL()from a failedwebContents.loadURL()call's catch handler.