WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
218840
REGRESSION(
r269701
): inspector/console/webcore-logging.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=218840
Summary
REGRESSION(r269701): inspector/console/webcore-logging.html is crashing
Blaze Burg
Reported
2020-11-11 19:56:40 PST
.
Attachments
Stack trace of ASSERT
(121.12 KB, text/plain)
2020-11-11 19:57 PST
,
Blaze Burg
no flags
Details
Speculative fix
(3.12 KB, patch)
2020-11-11 20:31 PST
,
Blaze Burg
no flags
Details
Formatted Diff
Diff
Patch v1.1
(3.90 KB, patch)
2020-11-12 11:38 PST
,
Blaze Burg
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-11-11 19:56:53 PST
<
rdar://problem/71310952
>
Blaze Burg
Comment 2
2020-11-11 19:57:11 PST
Created
attachment 413903
[details]
Stack trace of ASSERT
Blaze Burg
Comment 3
2020-11-11 20:19:29 PST
Patch forthcoming.
Blaze Burg
Comment 4
2020-11-11 20:22:56 PST
Analysis: Test.html finishes loading. Our load event listener calls InspectorFrontendHost::loaded() which makes the inspector focus, which makes the webpage window unfocus and resign first responder. This causes style recalc, and we have sync instrumentation underneath it (this should really be more async btw). The instrumentation generates an event to be dispatched to the frontend. The dispatcher hasn't been told that the window is loaded yet under InspectorFrontendHost::frontendLoaded. It's not safe to eval scripts due to the sync style recalc upthread, so the dispatcher suspends and tries again on another run loop turn.
Blaze Burg
Comment 5
2020-11-11 20:23:38 PST
(In reply to Brian Burg from
comment #4
)
> Analysis: > > Test.html finishes loading. Our load event listener calls > InspectorFrontendHost::loaded() which makes the inspector focus, which > makes the webpage window unfocus and resign first responder. This causes > style recalc, and we have sync instrumentation underneath it (this should > really be more async btw). The instrumentation generates an event to be > dispatched to the frontend. The dispatcher hasn't been told that the window > is loaded yet under InspectorFrontendHost::frontendLoaded. It's not safe to > eval scripts due to the sync style recalc upthread, so the dispatcher > suspends and tries again on another run loop turn.
And the crash is due to an ASSERT(m_frontendLoaded) failing.
Blaze Burg
Comment 6
2020-11-11 20:31:37 PST
Created
attachment 413906
[details]
Speculative fix
Devin Rousso
Comment 7
2020-11-11 22:34:25 PST
Comment on
attachment 413906
[details]
Speculative fix rs=me Should we also guard the `evaluateQueuedExpressions()` call inside `InspectorFrontendAPIDispatcher::unsuspend` behind an `if (m_frontendLoaded)`?
Blaze Burg
Comment 8
2020-11-12 11:38:08 PST
Created
attachment 413957
[details]
Patch v1.1 Newest patch adds a guard in suspend() per Devin's review comment.
Blaze Burg
Comment 9
2020-11-12 11:38:45 PST
(In reply to Brian Burg from
comment #8
)
> Created
attachment 413957
[details]
> Patch v1.1 > > Newest patch adds a guard in suspend() per Devin's review comment.
Typo: unsuspend(), not suspend()
EWS
Comment 10
2020-11-13 16:21:09 PST
Committed
r269806
: <
https://trac.webkit.org/changeset/269806
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 413957
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug