New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 863906 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Aug 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

canvas-colorManaged-convertToBlob-roundtrip.html fails

Project Member Reported by zakerinasab@chromium.org, Jul 16

Issue description

Branched from  crbug.com/860706  to separate timeouts from failures:

pdr@chromium.org wrote:

canvas-colorManaged-convertToBlob-roundtrip.html fails flakily.

https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=webkit_layout_tests&tests=fast%2Fcanvas%2Fcolor-space%2Fcanvas-colorManaged-convertToBlob-roundtrip.html


I can reproduce this locally with:
third_party/blink/tools/run_web_tests.py --debug fast/canvas/color-space/canvas-colorManaged-convertToBlob-roundtrip.html --iterations=100 --no-retry-failures

When this fails for me, I get the following:
FAIL Test canvas convertToBlob(): mimeType: image/png, blobColorSpace: srgb, blobPixelFormat: 8-8-8-8, source color space: srgb, pixel format: 8-8-8-8, alpha: 1 assert_approx_equals: expected 27 +/- 10 but got 0
 
I'm able to repro this, and I feel like it's timing related. The failures always occur on png or jpeg, never on webp. Webp does the encoding on the encoder thread, while png and jpeg appear to do encoding on other threads. If I hack up canvas_async_blob_creator.cc so that all encoding happens on the encoder thread (Changing the check in ScheduleAsyncBlobCreation, removing the webp assert in EncodeImageOnEncoderThread, and passing the correct mime type in EncodeImage), I don't get any failures.

My JS knowledge is extremely limited, so I'm trying to understand the sequencing that's happening in runConvertToBlobTest(), is there any way that we're doing some of the encode/read-back/compare steps out of order?
I think you're right about the source of issue being a scheduling problem. I'm preparing  a temporary fix for that. Let's see if we have the failures happening after the fix.

Cc: -zakerinasab@chromium.org brianosman@chromium.org
Owner: zakerinasab@chromium.org
Status: WontFix (was: Assigned)
This should not be flaky anymore since we're not using idle encoding in layout tests.

Sign in to add a comment