Bug 193788

Summary: Regression(PSON) cross-site provisional page is not canceled if a new same-site one is started
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, beidson, commit-queue, ggaren, koivisto, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=193740
Attachments:
Description Flags
Patch none

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.