New issue
Advanced search Search tips

Issue 594196 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

virtual/threaded/fast/canvas-toBlob/canvas-createImageBitmap-blob-in-workers.html is flaky

Project Member Reported by alex...@chromium.org, Mar 11 2016

Issue description

This test is failing very frequently on various bots across all platforms:

https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=virtual%2Fthreaded%2Ffast%2Fcanvas-toBlob%2Fcanvas-createImageBitmap-blob-in-workers.html&testType=webkit_tests

For example:
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty/builds/9902

Text diff from a sample failed run:
-PASS ImageBitmaps created from blob in worker and in main have the same pixel data
-PASS successfullyParsed is true
+FAIL Unexpected error: Uncaught TypeError: event.data.charAt is not a function
+FAIL successfullyParsed should be true. Was false.

https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty/9902/layout-test-results/virtual/threaded/fast/canvas-toBlob/canvas-createImageBitmap-blob-in-workers-pretty-diff.html

Other bots seeing this failure:
WebKit Linux non-Oilpan (dbg), WebKit Mac10.10, WebKit Win non-Oilpan (dbg), WebKit Win7, WebKit Win7 (dbg)

xidachen@, since you've touched this test recently, would you be able to take a look or find someone else who will?

 
Status: Available (was: Untriaged)
Thank you for reporting this.
I landed a CL this morning:
https://codereview.chromium.org/1781613002/

which should fix this flaky test. Let's keep an eye on the dashboard.
Thanks for the update.  It looks like there are failures after your CL as well, unfortunately.  Your CL is r380609, and the failure in https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty/builds/9902 covers r380661-380667, for example.  Do you mind if I add flaky expections for this test for now, to get the waterfall bots green?
Absolutely not, please go ahead. I quickly looked at the dashboard, and turns out that before and after my CL, there is always some flakiness going on. I will have to investigate into it.

Thanks for marking it flaky.
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f4c782b48b2a8b38ca5319b6235ac8cff3aa462

commit 8f4c782b48b2a8b38ca5319b6235ac8cff3aa462
Author: alexmos <alexmos@chromium.org>
Date: Fri Mar 11 19:21:14 2016

Add flaky expectation for virtual/threaded/fast/canvas-toBlob/canvas-createImageBitmap-blob-in-workers.html

BUG= 594196 
TBR=xidachen@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/1786543004

Cr-Commit-Position: refs/heads/master@{#380693}

[modify] https://crrev.com/8f4c782b48b2a8b38ca5319b6235ac8cff3aa462/third_party/WebKit/LayoutTests/TestExpectations

Status: Assigned (was: Available)
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6590bde0345a7d38a603cb4839ad2afd088db024

commit 6590bde0345a7d38a603cb4839ad2afd088db024
Author: xidachen <xidachen@chromium.org>
Date: Mon Mar 14 16:58:02 2016

Revise layout tests to avoid race condition

At this moment, there is a race condition in this layout tests. This
layout tests includes the following steps:
1). Send a blob to worker
2). Right after that, both worker and main start creating ImageBitmap
    from the blob.
3). Worker send the created ImageBitmap to main.
4). Get a Image from the blob using URL.createObjectURL(blob), Once this
    Image is loaded, compare this Image with the ImageBitmaps created
    in main and worker, they should have the same pixel data.

Now the problem here is that the main thread could wait for the Image to
be loaded and while in the meantime still wait for the created ImageBitmap
from worker. And there is a race condition here because one of them could
happen first and there is no guarantee to that.

This CL make changes such that the Image onload returns a promise. Also,
worker returning the ImageBitmap also returns a promise. We compare
the pixel data only when both promises are resolved. In this case, there
will be no race condition.

BUG= 594196 

Review URL: https://codereview.chromium.org/1792623002

Cr-Commit-Position: refs/heads/master@{#380992}

[modify] https://crrev.com/6590bde0345a7d38a603cb4839ad2afd088db024/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/6590bde0345a7d38a603cb4839ad2afd088db024/third_party/WebKit/LayoutTests/virtual/threaded/fast/canvas-toBlob/canvas-createImageBitmap-blob-in-workers-expected.txt
[modify] https://crrev.com/6590bde0345a7d38a603cb4839ad2afd088db024/third_party/WebKit/LayoutTests/virtual/threaded/fast/canvas-toBlob/canvas-createImageBitmap-blob-in-workers.html

Status: Fixed (was: Assigned)

Comment 8 by sshru...@google.com, May 18 2016

Labels: Test-Layout

Sign in to add a comment