Bug 193788 - Regression(PSON) cross-site provisional page is not canceled if a new same-site one is started
Summary: Regression(PSON) cross-site provisional page is not canceled if a new same-si...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-01-24 15:27 PST by Chris Dumez
Modified: 2019-01-25 10:55 PST (History)
6 users (show)

See Also:


Attachments
Patch (5.89 KB, patch)
2019-01-24 15:37 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 Chris Dumez 2019-01-24 15:27:07 PST
cross-site provisional page is not canceled if a new same-site one is started causing crashes in debug:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000011089c2f0 WTFCrash + 16 (Assertions.cpp:255)
1   com.apple.WebKit              	0x0000000115e0b1ab WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.WebKit              	0x0000000116561653 WebKit::PageLoadState::didStartProvisionalLoad(WebKit::PageLoadState::Transaction::Token const&, WTF::String const&, WTF::String const&) + 227 (PageLoadState.cpp:252)
3   com.apple.WebKit              	0x0000000116717e23 WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared(WTF::Ref<WebKit::WebProcessProxy, WTF::DumbPtrTraits<WebKit::WebProcessProxy> >&&, unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&) + 1299 (WebPageProxy.cpp:3795)
4   com.apple.WebKit              	0x00000001167178f6 WebKit::WebPageProxy::didStartProvisionalLoadForFrame(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&) + 150 (WebPageProxy.cpp:3768)
5   com.apple.WebKit              	0x00000001170847b8 void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>, 0ul, 1ul, 2ul, 3ul, 4ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) + 360 (HandleMessage.h:42)
6   com.apple.WebKit              	0x0000000117084640 void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul> >(std::__1::tuple<unsigned long long, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)) + 96 (HandleMessage.h:48)
7   com.apple.WebKit              	0x000000011706515e void IPC::handleMessage<Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)) + 398 (HandleMessage.h:134)
8   com.apple.WebKit              	0x000000011705b172 WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 7202 (WebPageProxyMessageReceiver.cpp:557)
9   com.apple.WebKit              	0x0000000115eadc1a IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 490 (MessageReceiverMap.cpp:124)
10  com.apple.WebKit              	0x000000011653c8d4 WebKit::ChildProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 52 (ChildProcessProxy.cpp:155)
11  com.apple.WebKit              	0x000000011680c37a WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 58 (WebProcessProxy.cpp:660)
12  com.apple.WebKit              	0x0000000115e52c7c IPC::Connection::dispatchMessage(IPC::Decoder&) + 476 (Connection.cpp:979)
13  com.apple.WebKit              	0x0000000115e45061 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 721
Comment 1 Radar WebKit Bug Importer 2019-01-24 15:27:35 PST
<rdar://problem/47531231>
Comment 2 Chris Dumez 2019-01-24 15:37:40 PST
Created attachment 360043 [details]
Patch
Comment 3 Chris Dumez 2019-01-25 08:55:53 PST
Comment on attachment 360043 [details]
Patch

Ping review?
Comment 4 WebKit Commit Bot 2019-01-25 10:55:00 PST
Comment on attachment 360043 [details]
Patch

Clearing flags on attachment: 360043

Committed r240485: <https://trac.webkit.org/changeset/240485>
Comment 5 WebKit Commit Bot 2019-01-25 10:55:01 PST
All reviewed patches have been landed.  Closing bug.