CLOSED FIXED 193740
REGRESSION: Flaky ASSERTION FAILED: m_uncommittedState.state == State::Committed on http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html
https://bugs.webkit.org/show_bug.cgi?id=193740
Summary REGRESSION: Flaky ASSERTION FAILED: m_uncommittedState.state == State::Commit...
Shawn Roberts
Reported 2019-01-23 14:41:03 PST
The following layout test is flaky on Mojave Debug http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html Probable cause: This test became flakey around 1/8/2019. Is a regression, we do not know the regression point. It looks like an assertion failure. Flakiness Dashboard: https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fcookies%2Fsame-site%2Ffetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html Crash Log: https://build.webkit.org/results/Apple%20Mojave%20Debug%20WK2%20(Tests)/r240342%20(1286)/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-crash-log.txt ASSERTION FAILED: m_uncommittedState.state == State::Committed /Volumes/Data/slave/mojave-debug/build/Source/WebKit/UIProcess/PageLoadState.cpp(298) : void WebKit::PageLoadState::didFinishLoad(const Transaction::Token &) 1 0x10ef54b69 WTFCrash 2 0x11816e66b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x1188c08fd WebKit::PageLoadState::didFinishLoad(WebKit::PageLoadState::Transaction::Token const&) 4 0x118a78d72 WebKit::WebPageProxy::didFinishLoadForFrame(unsigned long long, unsigned long long, WebKit::UserData const&) 5 0x1193f021e void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WebKit::UserData>, 0ul, 1ul, 2ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WebKit::UserData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) 6 0x1193eff40 void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WebKit::UserData>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul> >(std::__1::tuple<unsigned long long, unsigned long long, WebKit::UserData>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WebKit::UserData const&)) 7 0x1193d01fb void IPC::handleMessage<Messages::WebPageProxy::DidFinishLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WebKit::UserData const&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WebKit::UserData const&)) 8 0x1193c56f8 WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 9 0x118210c3a IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 10 0x11889b414 WebKit::ChildProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) 11 0x118b69e7a WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 12 0x1181b616c IPC::Connection::dispatchMessage(IPC::Decoder&) 13 0x1181a8551 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 14 0x1181b35c1 IPC::Connection::dispatchIncomingMessages() 15 0x1181d7c92 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() 16 0x1181d7bb9 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() 17 0x10ef7e14d WTF::Function<void ()>::operator()() const 18 0x10efe6813 WTF::RunLoop::performWork() 19 0x10efe71a4 WTF::RunLoop::performWork(void*) 20 0x7fff4a8e51d9 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 21 0x7fff4a8e517f __CFRunLoopDoSource0 22 0x7fff4a8c902c __CFRunLoopDoSources0 23 0x7fff4a8c85d3 __CFRunLoopRun 24 0x7fff4a8c7eb6 CFRunLoopRunSpecific 25 0x7fff4cc4c4aa -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 26 0x10ed5abd0 WTR::TestController::platformRunUntil(bool&, WTF::Seconds) 27 0x10ed1b2ff WTR::TestController::runUntil(bool&, WTF::Seconds) 28 0x10ed5dced WTR::TestInvocation::invoke() 29 0x10ed2c65f WTR::TestController::runTest(char const*) 30 0x10ed304a9 WTR::TestController::runTestingServerLoop() 31 0x10ed1c056 WTR::TestController::run() LEAK: 1 CachedResource
Attachments
Patch (26.04 KB, patch)
2019-02-01 12:10 PST, Chris Dumez
no flags
Patch (26.14 KB, patch)
2019-02-01 12:22 PST, Chris Dumez
no flags
Radar WebKit Bug Importer
Comment 1 2019-01-24 13:46:56 PST
Chris Dumez
Comment 2 2019-02-01 12:10:55 PST
EWS Watchlist
Comment 3 2019-02-01 12:13:23 PST
Attachment 360882 [details] did not pass style-queue: ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2578: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2587: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2588: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2589: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2590: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2592: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] Total errors found: 6 in 13 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 4 2019-02-01 12:22:10 PST
EWS Watchlist
Comment 5 2019-02-01 12:24:12 PST
Attachment 360883 [details] did not pass style-queue: ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2578: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2587: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2588: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2589: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2590: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2592: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] Total errors found: 6 in 13 files If any of these errors are false positives, please file a bug against check-webkit-style.
Alex Christensen
Comment 6 2019-02-01 14:12:52 PST
Comment on attachment 360883 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=360883&action=review > Source/WebCore/loader/PolicyChecker.cpp:219 > + function({ }, nullptr, { }, { }, ShouldContinue::No); If this were before Ignore it could just assert then fall through.
Chris Dumez
Comment 7 2019-02-01 14:25:34 PST
Comment on attachment 360883 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=360883&action=review >> Source/WebCore/loader/PolicyChecker.cpp:219 >> + function({ }, nullptr, { }, { }, ShouldContinue::No); > > If this were before Ignore it could just assert then fall through. But there is already the PolicyAction::Download case that falls through unfortunately.
Chris Dumez
Comment 8 2019-02-01 14:53:10 PST
Comment on attachment 360883 [details] Patch Clearing flags on attachment: 360883 Committed r240880: <https://trac.webkit.org/changeset/240880>
Chris Dumez
Comment 9 2019-02-01 14:53:12 PST
All reviewed patches have been landed. Closing bug.
Michael Catanzaro
Comment 10 2019-02-04 08:02:33 PST
Shawn Roberts
Comment 11 2019-02-12 15:44:55 PST
Still crashing on the bots and locally. Flakiness dashboard: https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fcookies%2Fsame-site%2Ffetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html Reproducible with: run-webkit-tests d241309 http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html --iterations 100 -f --debug Same Assertion failure from before. Crash Log : https://build.webkit.org/results/Apple%20Mojave%20Debug%20WK2%20(Tests)/r241295%20(1556)/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-crash-log.txt
Chris Dumez
Comment 12 2019-03-21 13:00:56 PDT
(In reply to Shawn Roberts from comment #11) > Still crashing on the bots and locally. > > Flakiness dashboard: > > https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard. > html#showAllRuns=true&tests=http%2Ftests%2Fcookies%2Fsame-site%2Ffetch-after- > top-level-navigation-initiated-from-iframe-in-cross-origin-page.html > > Reproducible with: > > run-webkit-tests d241309 > http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from- > iframe-in-cross-origin-page.html --iterations 100 -f --debug > > > Same Assertion failure from before. > > Crash Log : > > https://build.webkit.org/results/Apple%20Mojave%20Debug%20WK2%20(Tests)/ > r241295%20(1556)/http/tests/cookies/same-site/fetch-after-top-level- > navigation-initiated-from-iframe-in-cross-origin-page-crash-log.txt https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fcookies%2Fsame-site%2Ffetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html seems to indicate this is no longer happening.
Shawn Roberts
Comment 13 2019-03-21 13:19:58 PDT
Issue appears to be resolved. Dashboard is happy, unable to reproduce locally. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.