Bug 215462 - OffscreenCanvas: imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html is failing
Summary: OffscreenCanvas: imported/w3c/web-platform-tests/html/canvas/offscreen/manual...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Canvas (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: 183720
  Show dependency treegraph
 
Reported: 2020-08-13 13:07 PDT by Lauro Moura
Modified: 2021-11-09 15:39 PST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lauro Moura 2020-08-13 13:07:44 PDT
imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html

Started flaky failing since OffScreen canvas support was enabled and the baseline updated to be actually passing.

Diff:

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit-actual.txt
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: Error: assert_equals: Green channel of the pixel at (5, 5) expected 255 but got 0
 
 PASS Test that calling OffscreenCanvas's commit pushes its contents to its placeholder. 
 PASS Test that calling commit on an OffscreenCanvas that is not transferred from a HTMLCanvasElement is a noop. 

Looking at the test with --iterations=100, all iterations pass with the timeout for the automatic commit set at >=3ms. Maybe the immediate timeout is too eager for the commit operation to fulfill?

Running it on Chrome 84 (Ubuntu 20.04) raises the same message about the green channel.

Another issue with this test: As the assert runs in the setTimeout callback, the test is registered as done and thus the PASS message, while in fact, it failed. I'm opening a WPT PR changing it to be an async test and actually emit FAIL when the assert fails.
Comment 1 Lauro Moura 2020-08-13 13:46:12 PDT
WPT PR using async_test: https://github.com/web-platform-tests/wpt/pull/24999
Comment 2 Radar WebKit Bug Importer 2020-08-20 13:08:13 PDT
<rdar://problem/67500909>
Comment 3 Sam Weinig 2021-04-29 11:17:44 PDT
Laura, has the update test been synced back to WebKit now? Is the test still flakey?
Comment 4 Diego Pino 2021-06-09 00:20:06 PDT
The only test filed under this bug was:

  - imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html

GTK post-commit test bot reports the test has been failing consistently for the last 4000 revisions.

Diff:

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit-actual.txt
@@ -1,4 +1,4 @@
 
-PASS Test that calling OffscreenCanvas's commit pushes its contents to its placeholder.
+FAIL Test that calling OffscreenCanvas's commit pushes its contents to its placeholder. assert_equals: Green channel of the pixel at (5, 5) expected 255 but got 0
 PASS Test that calling commit on an OffscreenCanvas that is not transferred from a HTMLCanvasElement is a noop.
Comment 5 Cameron McCormack (:heycam) 2021-11-09 15:39:13 PST
It would be good to understand why this test is failing.  This is OffscreenCanvas used on the main thread, and commit() is seemingly not doing the right thing.  The version of the test in a worker thread (html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w.html) is passing.