Bug 191914 - Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation
Summary: Regression(r238353) Load sometimes hangs when navigating back after a cross-s...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-11-22 12:53 PST by Rob Buis
Modified: 2018-11-23 03:36 PST (History)
6 users (show)

See Also:


Attachments
Patch (3.72 KB, patch)
2018-11-22 17:10 PST, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rob Buis 2018-11-22 12:53:40 PST
Steps to repro:
1. Start mini browser
2. Go to google.com
3. Search for something, for example I entered "autosport".
4. Click a hit.
5. Go back. At this point google.com is indicated in the location bar but nothing is rendered. A bit later mini browser will likely crash.
Comment 1 Rob Buis 2018-11-22 12:55:50 PST
Assigning to Chris since my bisecting seems to point to https://bugs.webkit.org/show_bug.cgi?id=191781. First of all I would be interested if it is reproducible or just my system/setup though.
Comment 2 Chris Dumez 2018-11-22 13:37:57 PST
Will look, thanks.
Comment 3 Chris Dumez 2018-11-22 13:40:19 PST
Do you process "Process Swap on Cross-Site navigation" enabled in experimental features?
Comment 4 Chris Dumez 2018-11-22 14:44:10 PST
(In reply to Chris Dumez from comment #3)
> Do you process "Process Swap on Cross-Site navigation" enabled in
> experimental features?

Do you *have* "Process Swap on Cross-Site navigation" enabled in
experimental features?
Comment 5 Chris Dumez 2018-11-22 14:53:47 PST
> A bit later mini browser will likely crash.

Crash log?

I wasn't able to reproduce in Safari. Will try Minibrowser soon.
Comment 6 Chris Dumez 2018-11-22 15:37:11 PST
Ok, I was able to reproduce in Minibrowser.
Comment 7 Chris Dumez 2018-11-22 15:44:42 PST
I see a DecidePolicyForResponse sent why the about-to-be-suspended process to the SuspendedPageProxy but no DidFinishLoadForFrame.
Comment 8 Chris Dumez 2018-11-22 15:55:50 PST
(In reply to Chris Dumez from comment #7)
> I see a DecidePolicyForResponse sent why the about-to-be-suspended process
> to the SuspendedPageProxy but no DidFinishLoadForFrame.

In Safari, I get no DecidePolicyForNavigationResponse and I get a DidFinishProgress IPC.
Comment 9 Chris Dumez 2018-11-22 16:02:17 PST
DocumentLoader::maybeLoadEmpty() returns false in Minibrowser but true in Safari.
It returns false because SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(m_request.url().protocol().toStringWithoutCopying())) check fails
Comment 10 Chris Dumez 2018-11-22 17:10:57 PST
Created attachment 355493 [details]
Patch
Comment 11 WebKit Commit Bot 2018-11-22 20:36:47 PST
Comment on attachment 355493 [details]
Patch

Clearing flags on attachment: 355493

Committed r238456: <https://trac.webkit.org/changeset/238456>
Comment 12 WebKit Commit Bot 2018-11-22 20:36:49 PST
All reviewed patches have been landed.  Closing bug.
Comment 13 Radar WebKit Bug Importer 2018-11-22 20:37:28 PST
<rdar://problem/46217302>
Comment 14 Rob Buis 2018-11-23 03:36:11 PST
(In reply to Chris Dumez from comment #3)
> Do you process "Process Swap on Cross-Site navigation" enabled in
> experimental features?

I did have that enabled. Thanks for fixing!