NEW208590
ASSERTION FAILED: m_uncommittedState.provisionalURL.isEmpty() on fast/events/beforeunload-prompt.html
https://bugs.webkit.org/show_bug.cgi?id=208590
Summary ASSERTION FAILED: m_uncommittedState.provisionalURL.isEmpty() on fast/events/...
Jason Lawrence
Reported 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
Attachments
beforeunload-prompt-crash-log (84.51 KB, text/plain)
2020-03-04 11:51 PST, Jason Lawrence
no flags
Radar WebKit Bug Importer
Comment 1 2020-03-04 11:52:59 PST
Jason Lawrence
Comment 2 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
Fujii Hironori
Comment 3 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)
Rob Buis
Comment 4 2025-06-26 11:50:46 PDT
Another way to reproduce (in Debug builds): 1. Navigate to apple.com 2. Click on the "iPad" menu option above 3. Do multiple clicks in quick succession on one of the options (for example iPad mini)
Note You need to log in before you can comment on or make changes to this bug.