Bug 182311 - Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html is flaky
Summary: Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/na...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Service Workers (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
: 182310 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-01-30 14:26 PST by Matt Lewis
Modified: 2018-01-31 09:41 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Lewis 2018-01-30 14:26:38 PST
The following layout test is a flaky failure on macOS and iOS Simulator release and a flaky crash on iOS Simulator Debug and occasionally macOS Debug.

imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html

Probable cause:

while the test started crashing and failing with https://trac.webkit.org/changeset/227770/webkit the crash can most likely be traced back to the same issue as https://bugs.webkit.org/show_bug.cgi?id=182054

Flakiness Dashboard:

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

failure:
https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r227841%20(2618)/results.html

crash:
https://build.webkit.org/results/Apple%20iOS%2011%20Simulator%20Debug%20WK2%20(Tests)/r227841%20(2414)/results.html

failure diff:

--- /Volumes/Data/slave/highsierra-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt
+++ /Volumes/Data/slave/highsierra-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https-actual.txt
@@ -1,32 +1,34 @@
 
 
-PASS Normal redirect to same-origin scope. 
-PASS Normal redirect to other-origin scope. 
-PASS SW-fallbacked redirect to same-origin out-scope. 
-PASS SW-fallbacked redirect to same-origin same-scope. 
-PASS SW-fallbacked redirect to same-origin other-scope. 
-PASS SW-fallbacked redirect to other-origin out-scope. 
-PASS SW-fallbacked redirect to other-origin in-scope. 
-PASS SW-generated redirect to same-origin out-scope. 
-PASS SW-generated redirect to same-origin same-scope. 
-PASS SW-generated redirect to same-origin other-scope. 
-PASS SW-generated redirect to other-origin out-scope. 
-PASS SW-generated redirect to other-origin in-scope. 
-PASS SW-fetched redirect to same-origin out-scope. 
-PASS SW-fetched redirect to same-origin same-scope. 
-PASS SW-fetched redirect to same-origin other-scope. 
-PASS SW-fetched redirect to other-origin out-scope. 
-PASS SW-fetched redirect to other-origin in-scope. 
-PASS Redirect to same-origin out-scope with opaque redirect response. 
-PASS Redirect to same-origin same-scope with opaque redirect response. 
-PASS Redirect to same-origin other-scope with opaque redirect response. 
-PASS Redirect to other-origin out-scope with opaque redirect response. 
-PASS Redirect to other-origin in-scope with opaque redirect response. 
-PASS No location redirect response. 
-PASS Redirect to same-origin out-scope with opaque redirect response which is passed through Cache. 
-PASS Redirect to same-origin same-scope with opaque redirect response which is passed through Cache. 
-PASS Redirect to same-origin other-scope with opaque redirect response which is passed through Cache. 
-PASS Redirect to other-origin out-scope with opaque redirect response which is passed through Cache. 
-PASS Redirect to other-origin in-scope with opaque redirect response which is passed through Cache. 
-PASS No location redirect response via Cache. 
+Harness Error (TIMEOUT), message = null
 
+TIMEOUT Normal redirect to same-origin scope. Test timed out
+NOTRUN Normal redirect to other-origin scope. 
+NOTRUN SW-fallbacked redirect to same-origin out-scope. 
+NOTRUN SW-fallbacked redirect to same-origin same-scope. 
+NOTRUN SW-fallbacked redirect to same-origin other-scope. 
+NOTRUN SW-fallbacked redirect to other-origin out-scope. 
+NOTRUN SW-fallbacked redirect to other-origin in-scope. 
+NOTRUN SW-generated redirect to same-origin out-scope. 
+NOTRUN SW-generated redirect to same-origin same-scope. 
+NOTRUN SW-generated redirect to same-origin other-scope. 
+NOTRUN SW-generated redirect to other-origin out-scope. 
+NOTRUN SW-generated redirect to other-origin in-scope. 
+NOTRUN SW-fetched redirect to same-origin out-scope. 
+NOTRUN SW-fetched redirect to same-origin same-scope. 
+NOTRUN SW-fetched redirect to same-origin other-scope. 
+NOTRUN SW-fetched redirect to other-origin out-scope. 
+NOTRUN SW-fetched redirect to other-origin in-scope. 
+NOTRUN Redirect to same-origin out-scope with opaque redirect response. 
+NOTRUN Redirect to same-origin same-scope with opaque redirect response. 
+NOTRUN Redirect to same-origin other-scope with opaque redirect response. 
+NOTRUN Redirect to other-origin out-scope with opaque redirect response. 
+NOTRUN Redirect to other-origin in-scope with opaque redirect response. 
+NOTRUN No location redirect response. 
+NOTRUN Redirect to same-origin out-scope with opaque redirect response which is passed through Cache. 
+NOTRUN Redirect to same-origin same-scope with opaque redirect response which is passed through Cache. 
+NOTRUN Redirect to same-origin other-scope with opaque redirect response which is passed through Cache. 
+NOTRUN Redirect to other-origin out-scope with opaque redirect response which is passed through Cache. 
+NOTRUN Redirect to other-origin in-scope with opaque redirect response which is passed through Cache. 
+NOTRUN No location redirect response via Cache. 
+
Comment 1 Matt Lewis 2018-01-30 14:27:37 PST
*** Bug 182310 has been marked as a duplicate of this bug. ***
Comment 2 Chris Dumez 2018-01-30 14:39:14 PST
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   JavaScriptCore                	0x0000000101a3fd44 WTFCrash + 36
1   com.apple.WebCore             	0x00000001100de18c WebCore::MessagePortChannel::entanglePortWithProcess(WebCore::MessagePortIdentifier const&, WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>) + 524
2   com.apple.WebCore             	0x00000001100e0933 WebCore::MessagePortChannelRegistry::didEntangleLocalToRemote(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&, WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>) + 211
3   com.apple.WebKit              	0x0000000107c1d6ec WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&) + 156
4   com.apple.WebKit              	0x0000000107c4d6ad void IPC::callMemberFunctionImpl<WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&), std::__1::tuple<WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier>, 0ul, 1ul>(WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&), std::__1::tuple<WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 189
5   com.apple.WebKit              	0x0000000107c4d430 void IPC::callMemberFunction<WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&), std::__1::tuple<WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier>&&, WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&)) + 96
6   com.apple.WebKit              	0x0000000107c4b728 void IPC::handleMessage<Messages::WebProcessProxy::EntangleLocalPortInThisProcessToRemote, WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&)>(IPC::Decoder&, WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&, WebCore::MessagePortIdentifier const&)) + 344
7   com.apple.WebKit              	0x0000000107c4a10a WebKit::WebProcessProxy::didReceiveWebProcessProxyMessage(IPC::Connection&, IPC::Decoder&) + 2378
8   com.apple.WebKit              	0x0000000107c16da9 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 201
9   com.apple.WebKit              	0x0000000107c16e14 non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 52
10  com.apple.WebKit              	0x000000010719add3 IPC::Connection::dispatchMessage(IPC::Decoder&) + 51
11  com.apple.WebKit              	0x00000001071909f8 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 712
12  com.apple.WebKit              	0x000000010719b3da IPC::Connection::dispatchOneMessage() + 1530
13  com.apple.WebKit              	0x00000001071b31fd IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() + 29
14  com.apple.WebKit              	0x00000001071b3159 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() + 25
15  JavaScriptCore                	0x0000000101a5bfcb WTF::Function<void ()>::operator()() const + 139
16  JavaScriptCore                	0x0000000101a9f6b3 WTF::RunLoop::performWork() + 211
17  JavaScriptCore                	0x0000000101a9ff54 WTF::RunLoop::performWork(void*) + 36
18  com.apple.CoreFoundation      	0x000000010c0e72b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
19  com.apple.CoreFoundation      	0x000000010c186d31 __CFRunLoopDoSource0 + 81
20  com.apple.CoreFoundation      	0x000000010c0cbc19 __CFRunLoopDoSources0 + 185
21  com.apple.CoreFoundation      	0x000000010c0cb1ff __CFRunLoopRun + 1279
22  com.apple.CoreFoundation      	0x000000010c0caa89 CFRunLoopRunSpecific + 409
23  com.apple.Foundation          	0x000000010b4aae5e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 274
24  org.webkit.WebKitTestRunnerApp	0x00000001001787b4 WTR::TestController::platformRunUntil(bool&, double) + 260
25  org.webkit.WebKitTestRunnerApp	0x00000001001530d9 WTR::TestController::runUntil(bool&, double) + 73
26  org.webkit.WebKitTestRunnerApp	0x000000010017ba1a WTR::TestInvocation::invoke() + 1370
27  org.webkit.WebKitTestRunnerApp	0x000000010015bfed WTR::TestController::runTest(char const*) + 2061
28  org.webkit.WebKitTestRunnerApp	0x000000010015d174 WTR::TestController::runTestingServerLoop() + 228
29  org.webkit.WebKitTestRunnerApp	0x000000010014da36 WTR::TestController::run() + 54
30  org.webkit.WebKitTestRunnerApp	0x000000010014d3ba WTR::TestController::TestController(int, char const**) + 1530
31  org.webkit.WebKitTestRunnerApp	0x000000010014dbf3 WTR::TestController::TestController(int, char const**) + 35
32  org.webkit.WebKitTestRunnerApp	0x000000010013d68f -[WebKitTestRunnerApp _runTestController] + 47
33  com.apple.Foundation          	0x000000010b4f0948 __NSThreadPerformPerform + 334
34  com.apple.CoreFoundation      	0x000000010c0e72b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
35  com.apple.CoreFoundation      	0x000000010c186d31 __CFRunLoopDoSource0 + 81
36  com.apple.CoreFoundation      	0x000000010c0cbc6b __CFRunLoopDoSources0 + 267
37  com.apple.CoreFoundation      	0x000000010c0cb1ff __CFRunLoopRun + 1279
38  com.apple.CoreFoundation      	0x000000010c0caa89 CFRunLoopRunSpecific + 409
39  com.apple.GraphicsServices    	0x000000010b3a69c6 GSEventRunModal + 62
40  com.apple.UIKit               	0x0000000104f16d30 UIApplicationMain + 159
41  org.webkit.WebKitTestRunnerApp	0x000000010013d81a main + 138
42  libdyld.dylib                 	0x000000011c58fd81 start + 1
Comment 3 Matt Lewis 2018-01-30 14:46:11 PST
Skipped the test for now due to it causing EWS to consistently fail.

https://trac.webkit.org/changeset/227857/webkit
Comment 4 Ryan Haddad 2018-01-31 09:37:37 PST
This appears to have regressed with https://trac.webkit.org/changeset/227770/webkit
Comment 5 Ryan Haddad 2018-01-31 09:39:14 PST
(In reply to Ryan Haddad from comment #4)
> This appears to have regressed with
> https://trac.webkit.org/changeset/227770/webkit
Well, the test was unskipped with this change, so perhaps "regression" wasn't the right term to use there.
Comment 6 Radar WebKit Bug Importer 2018-01-31 09:41:16 PST
<rdar://problem/37073937>