Bug 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
Summary: REGRESSION: Flaky ASSERTION FAILED: m_uncommittedState.state == State::Commit...
Status: CLOSED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-01-23 14:41 PST by Shawn Roberts
Modified: 2019-03-21 13:20 PDT (History)
15 users (show)

See Also:


Attachments
Patch (26.04 KB, patch)
2019-02-01 12:10 PST, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (26.14 KB, patch)
2019-02-01 12:22 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 Shawn Roberts 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
Comment 1 Radar WebKit Bug Importer 2019-01-24 13:46:56 PST
<rdar://problem/47527267>
Comment 2 Chris Dumez 2019-02-01 12:10:55 PST
Created attachment 360882 [details]
Patch
Comment 3 EWS Watchlist 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.
Comment 4 Chris Dumez 2019-02-01 12:22:10 PST
Created attachment 360883 [details]
Patch
Comment 5 EWS Watchlist 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.
Comment 6 Alex Christensen 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.
Comment 7 Chris Dumez 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.
Comment 8 Chris Dumez 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>
Comment 9 Chris Dumez 2019-02-01 14:53:12 PST
All reviewed patches have been landed.  Closing bug.
Comment 10 Michael Catanzaro 2019-02-04 08:02:33 PST
Committed r240925: <https://trac.webkit.org/changeset/240925>
Comment 11 Shawn Roberts 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
Comment 12 Chris Dumez 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.
Comment 13 Shawn Roberts 2019-03-21 13:19:58 PDT
Issue appears to be resolved. Dashboard is happy, unable to reproduce locally.

Closing bug.