Bug 224114

Summary: [GTK][WPE] Test imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker.html is flaky and fails sometimes
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: WPE WebKitAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, dpino, ticaiolima
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=223131

Description Carlos Alberto Lopez Perez 2021-04-02 09:10:15 PDT
The test gamepad/gamepad-visibility-1.html is flaky and sometimes it fails.

When it fails it gives this diff:

--- /home/buildbot/worker/wpe-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt
+++ /home/buildbot/worker/wpe-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-actual.txt
@@ -1,3 +1,5 @@
+
+Harness Error (TIMEOUT), message = null
 
 PASS Non-object imports argument: null
 PASS Non-object imports argument: true
@@ -49,60 +51,60 @@
 PASS Importing an i64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)
 PASS Importing an i64 global with an incorrectly-typed value: Number
 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type)
-PASS Importing an f32 global with an incorrectly-typed value: undefined
-PASS Importing an f32 global with an incorrectly-typed value: null
-PASS Importing an f32 global with an incorrectly-typed value: true
-PASS Importing an f32 global with an incorrectly-typed value: ""
-PASS Importing an f32 global with an incorrectly-typed value: symbol "Symbol()"
-PASS Importing an f32 global with an incorrectly-typed value: plain object
-PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global
-PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global.prototype
-PASS Importing an f32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)
-PASS Importing an f32 global with an incorrectly-typed value: BigInt
-PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type)
-PASS Importing an f64 global with an incorrectly-typed value: undefined
-PASS Importing an f64 global with an incorrectly-typed value: null
-PASS Importing an f64 global with an incorrectly-typed value: true
-PASS Importing an f64 global with an incorrectly-typed value: ""
-PASS Importing an f64 global with an incorrectly-typed value: symbol "Symbol()"
-PASS Importing an f64 global with an incorrectly-typed value: plain object
-PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global
-PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global.prototype
-PASS Importing an f64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)
-PASS Importing an f64 global with an incorrectly-typed value: BigInt
-PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type)
-PASS Importing an i32 mutable global with a primitive value
-PASS Importing an i32 mutable global with an immutable Global object
-PASS Importing an i64 mutable global with a primitive value
-PASS Importing an i64 mutable global with an immutable Global object
-PASS Importing an f32 mutable global with a primitive value
-PASS Importing an f32 mutable global with an immutable Global object
-PASS Importing an f64 mutable global with a primitive value
-PASS Importing an f64 mutable global with an immutable Global object
-PASS Importing memory with an incorrectly-typed value: undefined
-PASS Importing memory with an incorrectly-typed value: null
-PASS Importing memory with an incorrectly-typed value: true
-PASS Importing memory with an incorrectly-typed value: ""
-PASS Importing memory with an incorrectly-typed value: symbol "Symbol()"
-PASS Importing memory with an incorrectly-typed value: 1
-PASS Importing memory with an incorrectly-typed value: 0.1
-PASS Importing memory with an incorrectly-typed value: NaN
-PASS Importing memory with an incorrectly-typed value: plain object
-PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory
-PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype
-PASS Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)
-PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory object (too large)
-PASS Importing table with an incorrectly-typed value: undefined
-PASS Importing table with an incorrectly-typed value: null
-PASS Importing table with an incorrectly-typed value: true
-PASS Importing table with an incorrectly-typed value: ""
-PASS Importing table with an incorrectly-typed value: symbol "Symbol()"
-PASS Importing table with an incorrectly-typed value: 1
-PASS Importing table with an incorrectly-typed value: 0.1
-PASS Importing table with an incorrectly-typed value: NaN
-PASS Importing table with an incorrectly-typed value: plain object
-PASS Importing table with an incorrectly-typed value: WebAssembly.Table
-PASS Importing table with an incorrectly-typed value: WebAssembly.Table.prototype
-PASS Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)
-PASS Importing table with an incorrectly-typed value: WebAssembly.Table object (too large)
+TIMEOUT Importing an f32 global with an incorrectly-typed value: undefined Test timed out
+NOTRUN Importing an f32 global with an incorrectly-typed value: null
+NOTRUN Importing an f32 global with an incorrectly-typed value: true
+NOTRUN Importing an f32 global with an incorrectly-typed value: ""
+NOTRUN Importing an f32 global with an incorrectly-typed value: symbol "Symbol()"
+NOTRUN Importing an f32 global with an incorrectly-typed value: plain object
+NOTRUN Importing an f32 global with an incorrectly-typed value: WebAssembly.Global
+NOTRUN Importing an f32 global with an incorrectly-typed value: WebAssembly.Global.prototype
+NOTRUN Importing an f32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)
+NOTRUN Importing an f32 global with an incorrectly-typed value: BigInt
+NOTRUN Importing an f32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type)
+NOTRUN Importing an f64 global with an incorrectly-typed value: undefined
+NOTRUN Importing an f64 global with an incorrectly-typed value: null
+NOTRUN Importing an f64 global with an incorrectly-typed value: true
+NOTRUN Importing an f64 global with an incorrectly-typed value: ""
+NOTRUN Importing an f64 global with an incorrectly-typed value: symbol "Symbol()"
+NOTRUN Importing an f64 global with an incorrectly-typed value: plain object
+NOTRUN Importing an f64 global with an incorrectly-typed value: WebAssembly.Global
+NOTRUN Importing an f64 global with an incorrectly-typed value: WebAssembly.Global.prototype
+NOTRUN Importing an f64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)
+NOTRUN Importing an f64 global with an incorrectly-typed value: BigInt
+NOTRUN Importing an f64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type)
+NOTRUN Importing an i32 mutable global with a primitive value
+NOTRUN Importing an i32 mutable global with an immutable Global object
+NOTRUN Importing an i64 mutable global with a primitive value
+NOTRUN Importing an i64 mutable global with an immutable Global object
+NOTRUN Importing an f32 mutable global with a primitive value
+NOTRUN Importing an f32 mutable global with an immutable Global object
+NOTRUN Importing an f64 mutable global with a primitive value
+NOTRUN Importing an f64 mutable global with an immutable Global object
+NOTRUN Importing memory with an incorrectly-typed value: undefined
+NOTRUN Importing memory with an incorrectly-typed value: null
+NOTRUN Importing memory with an incorrectly-typed value: true
+NOTRUN Importing memory with an incorrectly-typed value: ""
+NOTRUN Importing memory with an incorrectly-typed value: symbol "Symbol()"
+NOTRUN Importing memory with an incorrectly-typed value: 1
+NOTRUN Importing memory with an incorrectly-typed value: 0.1
+NOTRUN Importing memory with an incorrectly-typed value: NaN
+NOTRUN Importing memory with an incorrectly-typed value: plain object
+NOTRUN Importing memory with an incorrectly-typed value: WebAssembly.Memory
+NOTRUN Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype
+NOTRUN Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)
+NOTRUN Importing memory with an incorrectly-typed value: WebAssembly.Memory object (too large)
+NOTRUN Importing table with an incorrectly-typed value: undefined
+NOTRUN Importing table with an incorrectly-typed value: null
+NOTRUN Importing table with an incorrectly-typed value: true
+NOTRUN Importing table with an incorrectly-typed value: ""
+NOTRUN Importing table with an incorrectly-typed value: symbol "Symbol()"
+NOTRUN Importing table with an incorrectly-typed value: 1
+NOTRUN Importing table with an incorrectly-typed value: 0.1
+NOTRUN Importing table with an incorrectly-typed value: NaN
+NOTRUN Importing table with an incorrectly-typed value: plain object
+NOTRUN Importing table with an incorrectly-typed value: WebAssembly.Table
+NOTRUN Importing table with an incorrectly-typed value: WebAssembly.Table.prototype
+NOTRUN Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)
+NOTRUN Importing table with an incorrectly-typed value: WebAssembly.Table object (too large)


Passing something like "--repeat-each=100" to run-webkit-tests may help to reproduce the issue


On Mac it seems the same issue happens, but there only on Debug builds: See bug 223131 
On GTK/WPE happens also on release
Comment 1 Carlos Alberto Lopez Perez 2021-04-02 09:13:56 PDT
(In reply to Carlos Alberto Lopez Perez from comment #0)
> The test gamepad/gamepad-visibility-1.html is flaky and sometimes it fails.
> 

Sorry, I wanted to mean the test: imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker.html
Comment 2 Carlos Alberto Lopez Perez 2021-04-02 09:56:53 PDT
Updated expectations on r275423
Comment 3 Diego Pino 2021-04-26 20:24:07 PDT
This other related test is also a flaky timeout:

imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any.worker.html

https://build.webkit.org/results/GTK-Linux-64-bit-Release-Tests/r276624%20%281415%29/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-diff.txt

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-actual.txt
@@ -1,3 +1,5 @@
+
+Harness Error (TIMEOUT), message = null
 
 PASS Empty module without imports argument
 PASS Empty module with undefined imports argument
@@ -23,5 +25,5 @@
 PASS i64 mutable WebAssembly.Global import
 PASS Multiple i64 arguments
 PASS stray argument
-PASS Synchronous options handling
+TIMEOUT Synchronous options handling Test timed out
Comment 4 Diego Pino 2023-01-10 07:46:27 PST
The test or tests filed under this bug are not failing anymore. Test expectations updated in https://commits.webkit.org/258724@main.