Bug 215462
Summary: | OffscreenCanvas: imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html is failing | ||
---|---|---|---|
Product: | WebKit | Reporter: | Lauro Moura <lmoura> |
Component: | Canvas | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | bugs-noreply, clord, dino, dpino, heycam, sam, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 183720 |
Lauro Moura
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.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Lauro Moura
WPT PR using async_test: https://github.com/web-platform-tests/wpt/pull/24999
Radar WebKit Bug Importer
<rdar://problem/67500909>
Sam Weinig
Laura, has the update test been synced back to WebKit now? Is the test still flakey?
Diego Pino
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.
Cameron McCormack (:heycam)
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.