Bug 179351 - LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https.html is a flaky failure
Summary: LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/wor...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on: 182514
Blocks:
  Show dependency treegraph
 
Reported: 2017-11-06 16:58 PST by Ryan Haddad
Modified: 2018-05-22 15:07 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2017-11-06 16:58:51 PST
LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https.html is a flaky failure

https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK2%20(Tests)/r224511%20(4032)/results.html

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=imported%2Fw3c%2Fweb-platform-tests%2Fservice-workers%2Fservice-worker%2Fworker-interception.https.html

--- /Volumes/Data/slave/elcapitan-debug-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt
+++ /Volumes/Data/slave/elcapitan-debug-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-actual.txt
@@ -1,8 +1,9 @@
 
+Harness Error (TIMEOUT), message = null
 
 PASS Verify worker script from uncontrolled document is intercepted by Service Worker 
 PASS Verify worker script intercepted by same-origin response succeeds 
 PASS Verify worker script intercepted by cors response succeeds 
 PASS Verify worker script intercepted by no-cors cross-origin response fails 
-FAIL Verify worker loads from controlled document are intercepted by Service Worker assert_equals: expected "This load was successfully intercepted." but got "{\"error\": {\"message\": \"\", \"code\": 404}}"
+TIMEOUT Verify worker loads from controlled document are intercepted by Service Worker Test timed out
Comment 1 Radar WebKit Bug Importer 2017-11-10 14:26:39 PST
<rdar://problem/35478178>
Comment 2 Matt Lewis 2017-12-01 08:51:32 PST
Marked as flaky:
https://trac.webkit.org/changeset/225393/webkit
Comment 3 Chris Dumez 2018-02-05 12:43:17 PST
I see this crash locally when the test fails:
ASSERTION FAILED: !m_registrations.contains(data.registration.key)
/Volumes/Data/cdumez/WebKit/OpenSource/Source/WebCore/workers/service/server/SWServer.cpp(134) : void WebCore::SWServer::addRegistrationFromStore(WebCore::ServiceWorkerContextData &&)
1   0x11b5a640d WTFCrash
2   0x10f7baa3a WebCore::SWServer::addRegistrationFromStore(WebCore::ServiceWorkerContextData&&)
3   0x10f7b9d23 WebCore::RegistrationStore::addRegistrationFromDatabase(WebCore::ServiceWorkerContextData&&)
4   0x10f7b9ca7 WebCore::RegistrationDatabase::addRegistrationToStore(WebCore::ServiceWorkerContextData&&)
5   0x10f7d9a6a void WTF::callMemberFunctionForCrossThreadTaskImpl<WebCore::RegistrationDatabase, void (WebCore::RegistrationDatabase::*)(WebCore::ServiceWorkerContextData&&), std::__1::tuple<WebCore::ServiceWorkerContextData>, 0ul>(WebCore::RegistrationDatabase*, void (WebCore::RegistrationDatabase::*)(WebCore::ServiceWorkerContextData&&), std::__1::tuple<WebCore::ServiceWorkerContextData>&&, std::__1::integer_sequence<unsigned long, 0ul>)
6   0x10f7d99a0 void WTF::callMemberFunctionForCrossThreadTask<WebCore::RegistrationDatabase, void (WebCore::RegistrationDatabase::*)(WebCore::ServiceWorkerContextData&&), std::__1::tuple<WebCore::ServiceWorkerContextData>, std::__1::integer_sequence<unsigned long, 0ul> >(WebCore::RegistrationDatabase*, void (WebCore::RegistrationDatabase::*)(WebCore::ServiceWorkerContextData&&), std::__1::tuple<WebCore::ServiceWorkerContextData>&&)
7   0x10f7d9934 WTF::CrossThreadTask WTF::createCrossThreadTask<WebCore::RegistrationDatabase, WebCore::ServiceWorkerContextData&&, WebCore::ServiceWorkerContextData>(WebCore::RegistrationDatabase&, void (WebCore::RegistrationDatabase::*)(WebCore::ServiceWorkerContextData&&), WebCore::ServiceWorkerContextData const&)::'lambda'()::operator()()
8   0x10f7d9749 WTF::Function<void ()>::CallableWrapper<WTF::CrossThreadTask WTF::createCrossThreadTask<WebCore::RegistrationDatabase, WebCore::ServiceWorkerContextData&&, WebCore::ServiceWorkerContextData>(WebCore::RegistrationDatabase&, void (WebCore::RegistrationDatabase::*)(WebCore::ServiceWorkerContextData&&), WebCore::ServiceWorkerContextData const&)::'lambda'()>::call()
9   0x11b5c252b WTF::Function<void ()>::operator()() const
10  0x11b5c1be5 WTF::CrossThreadTask::performTask()
11  0x11b5c1c8d WTF::CrossThreadTaskHandler::handleTaskRepliesOnMainThread()
12  0x11b5c38f8 WTF::CrossThreadTaskHandler::postTaskReply(WTF::CrossThreadTask&&)::$_1::operator()() const
13  0x11b5c38b9 WTF::Function<void ()>::CallableWrapper<WTF::CrossThreadTaskHandler::postTaskReply(WTF::CrossThreadTask&&)::$_1>::call()
14  0x11b5c252b WTF::Function<void ()>::operator()() const
15  0x11b5e587b WTF::dispatchFunctionsFromMainThread()
16  0x11b5e8505 -[JSWTFMainThreadCaller call]
17  0x7fff2a5ede75 __NSThreadPerformPerform
18  0x7fff28409611 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
19  0x7fff284c0ecc __CFRunLoopDoSource0
20  0x7fff283ec6a0 __CFRunLoopDoSources0
21  0x7fff283ebb1d __CFRunLoopRun
22  0x7fff283eb377 CFRunLoopRunSpecific
23  0x7fff2a5a68d6 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
24  0x7fff2a5a67ae -[NSRunLoop(NSRunLoop) run]
25  0x7fff50f8af57 _xpc_objc_main
26  0x7fff50f89bd6 xpc_main
27  0x1021b313b main
28  0x7fff50c3c015 start
29  0x1
Comment 4 Chris Dumez 2018-02-05 14:34:52 PST
The issue is that all WebKitTestRunner share the same SW registration database :/
Comment 5 Chris Dumez 2018-02-05 15:35:12 PST
Flakiness seems to be gone with the patch from Bug 182514 applied.
Comment 6 Chris Dumez 2018-02-05 15:55:06 PST
(In reply to Chris Dumez from comment #5)
> Flakiness seems to be gone with the patch from Bug 182514 applied.

I was wrong, the test is still flaky (it is just not flakily *crashing* anymore).
Comment 7 Chris Dumez 2018-05-22 15:07:51 PDT
This test is not marked as flaky anymore:
LayoutTests/TestExpectations:[ Debug ] imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https.html [ Slow ]