Bug 201190

Summary: [iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https.html is flaky
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: Service WorkersAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, cdumez, webkit-bot-watchers-bugzilla, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   

Description Ryan Haddad 2019-08-27 11:13:29 PDT
The following layout test is flaky on iOS Simulator

imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https.html

Flakiness Dashboard:

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

--- /Volumes/Data/slave/ios-simulator-12-debug-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https-expected.txt
+++ /Volumes/Data/slave/ios-simulator-12-debug-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https-actual.txt
@@ -1,38 +1,5 @@
-
-PASS Registering script with no MIME type 
-PASS Registering script with bad MIME type 
-PASS Registering script that imports script with no MIME type 
-PASS Registering script that imports script with bad MIME type 
-PASS Registering script with good MIME type application/ecmascript 
-PASS Registering script that imports script with good MIME type application/ecmascript 
-PASS Registering script with good MIME type application/javascript 
-PASS Registering script that imports script with good MIME type application/javascript 
-PASS Registering script with good MIME type application/x-ecmascript 
-PASS Registering script that imports script with good MIME type application/x-ecmascript 
-PASS Registering script with good MIME type application/x-javascript 
-PASS Registering script that imports script with good MIME type application/x-javascript 
-PASS Registering script with good MIME type text/ecmascript 
-PASS Registering script that imports script with good MIME type text/ecmascript 
-PASS Registering script with good MIME type text/javascript 
-PASS Registering script that imports script with good MIME type text/javascript 
-PASS Registering script with good MIME type text/javascript1.0 
-PASS Registering script that imports script with good MIME type text/javascript1.0 
-PASS Registering script with good MIME type text/javascript1.1 
-PASS Registering script that imports script with good MIME type text/javascript1.1 
-PASS Registering script with good MIME type text/javascript1.2 
-PASS Registering script that imports script with good MIME type text/javascript1.2 
-PASS Registering script with good MIME type text/javascript1.3 
-PASS Registering script that imports script with good MIME type text/javascript1.3 
-PASS Registering script with good MIME type text/javascript1.4 
-PASS Registering script that imports script with good MIME type text/javascript1.4 
-PASS Registering script with good MIME type text/javascript1.5 
-PASS Registering script that imports script with good MIME type text/javascript1.5 
-PASS Registering script with good MIME type text/jscript 
-PASS Registering script that imports script with good MIME type text/jscript 
-PASS Registering script with good MIME type text/livescript 
-PASS Registering script that imports script with good MIME type text/livescript 
-PASS Registering script with good MIME type text/x-ecmascript 
-PASS Registering script that imports script with good MIME type text/x-ecmascript 
-PASS Registering script with good MIME type text/x-javascript 
-PASS Registering script that imports script with good MIME type text/x-javascript 
-
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
Comment 1 Ryan Haddad 2019-08-27 11:13:59 PDT
This test appears to have been flaky for quite a while.
Comment 2 Radar WebKit Bug Importer 2019-08-27 11:14:15 PDT
<rdar://problem/54755541>
Comment 3 Radar WebKit Bug Importer 2019-08-27 11:14:19 PDT
<rdar://problem/54755542>
Comment 4 Alexey Proskuryakov 2019-08-30 09:37:40 PDT
stderr says:

2019-08-29 15:45:14.407 com.apple.WebKit.Networking.Development[9397:54056641] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9858)

This is consistent with the diff, which looks like failing to load test harness subresource.
Comment 5 Ryan Haddad 2019-09-10 17:26:59 PDT
Marked test as flaky in https://trac.webkit.org/changeset/249744/webkit
Comment 6 Chris Dumez 2019-11-15 14:42:50 PST
(In reply to Alexey Proskuryakov from comment #4)
> stderr says:
> 
> 2019-08-29 15:45:14.407
> com.apple.WebKit.Networking.Development[9397:54056641]
> NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL,
> -9858)
> 
> This is consistent with the diff, which looks like failing to load test
> harness subresource.

@Alex & Youenn: Didn't we see this kind of SSL errors shortly after we started WPT tests? Do you remember what was caused this and how we made this go away?
Comment 7 Chris Dumez 2019-11-15 15:00:12 PST
It seems it registers 2 service workers successfully and fails on the third one:
Registering script that imports script with no MIME type
Comment 8 Chris Dumez 2019-11-15 15:30:36 PST
Could not reproduce locally with:
run-webkit-tests --ios-simulator --debug --no-build --repeat-each=100 imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https.html -g
Comment 9 Ryan Haddad 2020-04-08 23:02:06 PDT
The test is consistently passing now. Removed expectation in r259782.