Bug 208590 - ASSERTION FAILED: m_uncommittedState.provisionalURL.isEmpty() on fast/events/beforeunload-prompt.html
Summary: ASSERTION FAILED: m_uncommittedState.provisionalURL.isEmpty() on fast/events/...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Mac Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-03-04 11:51 PST by Jason Lawrence
Modified: 2022-12-15 22:45 PST (History)
5 users (show)

See Also:


Attachments
beforeunload-prompt-crash-log (84.51 KB, text/plain)
2020-03-04 11:51 PST, Jason Lawrence
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Lawrence 2020-03-04 11:51:53 PST
Created attachment 392453 [details]
beforeunload-prompt-crash-log

fast/events/beforeunload-prompt.html

Description:
This test is flaky crashing on Mac wk2 Debug. The crashes have been occurring throughout the available history. The oldest crash displayed is on r251084.

History:
https://results.webkit.org/?suite=layout-tests&test=fast%2Fevents%2Fbeforeunload-prompt.html&style=debug&flavor=wk2&flavor=gpuprocess&limit=50000

Crash log attached;
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x00000001063370e0 WTFCrash + 16 (Assertions.cpp:305)
1   com.apple.WebKit              	0x000000010f24361b WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.WebKit              	0x000000010fe97e85 WebKit::PageLoadState::didStartProvisionalLoad(WebKit::PageLoadState::Transaction::Token const&, WTF::String const&, WTF::String const&) + 229 (PageLoadState.cpp:292)
3   com.apple.WebKit              	0x0000000110048504 WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared(WTF::Ref<WebKit::WebProcessProxy, WTF::DumbPtrTraits<WebKit::WebProcessProxy> >&&, WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&) + 1764 (WebPageProxy.cpp:4363)
4   com.apple.WebKit              	0x0000000110047e03 WebKit::WebPageProxy::didStartProvisionalLoadForFrame(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&) + 147 (WebPageProxy.cpp:4328)
5   com.apple.WebKit              	0x0000000110b51f97 void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>, 0ul, 1ul, 2ul, 3ul, 4ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) + 263 (HandleMessage.h:42)
6   com.apple.WebKit              	0x0000000110b51c30 void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul> >(std::__1::tuple<WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)) + 112 (HandleMessage.h:48)
7   com.apple.WebKit              	0x0000000110b2009b void IPC::handleMessage<Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)) + 283 (HandleMessage.h:115)
8   com.apple.WebKit              	0x0000000110b163ba WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 7594 (WebPageProxyMessageReceiver.cpp:1037)
9   com.apple.WebKit              	0x000000010f35baf9 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 313 (MessageReceiverMap.cpp:124)
10  com.apple.WebKit              	0x000000010fe7c944 WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 52 (AuxiliaryProcessProxy.cpp:196)
11  com.apple.WebKit              	0x000000011009ef4a WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 58 (WebProcessProxy.cpp:733)
12  com.apple.WebKit              	0x000000010f2b34b9 IPC::Connection::dispatchMessage(IPC::Decoder&) + 473 (Connection.cpp:1009)
13  com.apple.WebKit              	0x000000010f2b3e21 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 577 (Connection.cpp:1079)
14  com.apple.WebKit              	0x000000010f2b246b IPC::Connection::dispatchIncomingMessages() + 1067 (Connection.cpp:1181)
15  com.apple.WebKit              	0x000000010f2d34c5 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7::operator()() + 69 (Connection.cpp:983)
16  com.apple.WebKit              	0x000000010f2d33f9 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7, void>::call() + 25 (Function.h:52)
17  com.apple.JavaScriptCore      	0x000000010636138a WTF::Function<void ()>::operator()() const + 138 (Function.h:84)
18  com.apple.JavaScriptCore      	0x00000001063d7ec8 WTF::RunLoop::performWork() + 280 (RunLoop.cpp:120)
19  com.apple.JavaScriptCore      	0x00000001063d959e WTF::RunLoop::performWork(void*) + 30 (RunLoopCF.cpp:39)
20  com.apple.CoreFoundation      	0x00007fff2f3e9683 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
21  com.apple.CoreFoundation      	0x00007fff2f3e9629 __CFRunLoopDoSource0 + 108
22  com.apple.CoreFoundation      	0x00007fff2f3ccfeb __CFRunLoopDoSources0 + 195
23  com.apple.CoreFoundation      	0x00007fff2f3cc5b5 __CFRunLoopRun + 1189
24  com.apple.CoreFoundation      	0x00007fff2f3cbebe CFRunLoopRunSpecific + 455
25  com.apple.Foundation          	0x00007fff316307df -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
26  WebKitTestRunner              	0x000000010604c380 WTR::TestController::platformRunUntil(bool&, WTF::Seconds) + 304 (TestControllerCocoa.mm:213)
27  WebKitTestRunner              	0x0000000106009b7f WTR::TestController::runUntil(bool&, WTF::Seconds) + 79 (TestController.cpp:1838)
28  WebKitTestRunner              	0x000000010600fc5e WTR::TestController::resetStateToConsistentValues(WTR::TestOptions const&, WTR::TestController::ResetStage) + 2462 (TestController.cpp:1131)
29  WebKitTestRunner              	0x0000000106051e7e WTR::TestInvocation::invoke() + 574 (TestInvocation.cpp:197)
30  WebKitTestRunner              	0x0000000106013948 WTR::TestController::runTest(char const*) + 536 (TestController.cpp:1767)
31  WebKitTestRunner              	0x00000001060143f6 WTR::TestController::runTestingServerLoop() + 214 (TestController.cpp:1813)
32  WebKitTestRunner              	0x000000010600a547 WTR::TestController::run() + 39 (TestController.cpp:1821)
33  WebKitTestRunner              	0x0000000106009ed5 WTR::TestController::TestController(int, char const**) + 821 (TestController.cpp:168)
34  WebKitTestRunner              	0x000000010600a613 WTR::TestController::TestController(int, char const**) + 35 (TestController.cpp:169)
35  WebKitTestRunner              	0x0000000105fdeb9f main + 111 (main.mm:69)
36  libdyld.dylib                 	0x00007fff5b3223d5 start + 1
Comment 1 Radar WebKit Bug Importer 2020-03-04 11:52:59 PST
<rdar://problem/60049871>
Comment 2 Jason Lawrence 2020-03-04 11:57:33 PST
I have marked this test as crashing while this is investigated.
https://trac.webkit.org/changeset/257869/webkit
Comment 3 Fujii Hironori 2022-12-15 22:45:09 PST
This is still happening.

Buildbot: builder Apple-Ventura-Debug-AppleSilicon-WK2-Tests build 481
https://build.webkit.org/#/builders/704/builds/481
https://build.webkit.org/results/Apple-Ventura-Debug-AppleSilicon-WK2-Tests/257931@main%20(481)/fast/events/beforeunload-prompt-stderr.txt

ASSERTION FAILED: m_uncommittedState.provisionalURL.isEmpty()
/Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Source/WebKit/UIProcess/PageLoadState.cpp(304) : void WebKit::PageLoadState::didStartProvisionalLoad(const Transaction::Token &, const WTF::String &, const WTF::String &)
1   0x117d38ec4 WTFCrash
2   0x14c712170 WTF::RefCountedBase::hasOneRef() const
3   0x14dff8050 WebKit::PageLoadState::didStartProvisionalLoad(WebKit::PageLoadState::Transaction::Token const&, WTF::String const&, WTF::String const&)
4   0x14e1c5cb0 WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared(WTF::Ref<WebKit::WebProcessProxy, WTF::RawPtrTraits<WebKit::WebProcessProxy> >&&, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)
5   0x14e1c576c WebKit::WebPageProxy::didStartProvisionalLoadForFrame(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)
6   0x14f145bd0 auto void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&)::'lambda'(auto&&...)::operator()<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>(auto&&...) const
7   0x14f1459a0 decltype(static_cast<WebKit::WebPageProxy>(fp)(static_cast<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >>(fp0), static_cast<WebKit::FrameInfoData>(fp0), static_cast<WebCore::ResourceRequest>(fp0), static_cast<unsigned long long>(fp0), static_cast<WTF::URL>(fp0), static_cast<WTF::URL>(fp0), static_cast<WebKit::UserData>(fp0))) std::__1::__invoke_constexpr<void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&)::'lambda'(auto&&...), WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>(WebKit::WebPageProxy&&, WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >&&, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long&&, WTF::URL&&, WTF::URL&&, WebKit::UserData&&)
8   0x14f145930 decltype(auto) std::__1::__apply_tuple_impl<void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(WebKit::WebPageProxy&&, WebKit::WebPageProxy&&, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>)
9   0x14f145860 decltype(auto) std::__1::apply<void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData> >(WebKit::WebPageProxy&&, WebKit::WebPageProxy&&)
10  0x14f144bb0 void IPC::callMemberFunction<WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData> >(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&), std::__1::tuple<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData, WebCore::ResourceRequest, unsigned long long, WTF::URL, WTF::URL, WebKit::UserData>&&)
11  0x14f0f9068 void IPC::handleMessage<Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, WebKit::WebPageProxy, void (WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::FrameIdentifierType> >, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long long, WTF::URL&&, WTF::URL&&, WebKit::UserData const&))
12  0x14f0f18f0 WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
13  0x14f55ee74 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
14  0x14df64eec WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&)
15  0x14e333bdc WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
16  0x14f532ce0 IPC::Connection::dispatchMessage(IPC::Decoder&)
17  0x14f533110 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
18  0x14f5337d4 IPC::Connection::dispatchIncomingMessages()
19  0x14f5512e0 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_16::operator()() const
20  0x14f551214 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_16, void>::call()
21  0x117d657cc WTF::Function<void ()>::operator()() const
22  0x117e08c60 WTF::RunLoop::performWork()
23  0x117e0ec34 WTF::RunLoop::performWork(void*)
24  0x198bdda34 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
25  0x198bdd9c8 __CFRunLoopDoSource0
26  0x198bdd738 __CFRunLoopDoSources0
27  0x198bdc33c __CFRunLoopRun
28  0x198bdb8a4 CFRunLoopRunSpecific
29  0x199ae3e58 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
30  0x1041791c8 WTR::TestController::platformRunUntil(bool&, WTF::Seconds)
31  0x104125690 WTR::TestController::runUntil(bool&, WTF::Seconds)