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

Issue 671209 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
OOO until 2019-01-24
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

WebGL conformance test textures_image_bitmap_from_video_tex_3d_rg8_rg_unsigned_byte is flaky on Linux Release (NVIDIA GeForce 730)

Project Member Reported by senorblanco@chromium.org, Dec 5 2016

Issue description

https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28NVIDIA%20GeForce%20730%29/builds/3746

Failing about 20% of the time.

--

WebglConformance_conformance2_textures_image_bitmap_from_video_tex_3d_rg8_rg_unsigned_byte (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... [8431:8431:1205/021743.257257:INFO:CONSOLE(11)] "shouldBe 255,0,0
at (8, 8) expected: 255,0,0 was 0,0,0", source:  (11)
 
Components: Internals>GPU>WebGL

Comment 2 by kbr@chromium.org, Dec 5 2016

Cc: xidac...@chromium.org junov@chromium.org
Components: -Internals>GPU>WebGL Internals>Media>Video Blink>WebGL
Labels: OS-Linux
Owner: kbr@chromium.org
Status: Started (was: Untriaged)
I think a couple of the video-related tests are flaky on this bot.

It can't be hardware-accelerated video decoding causing the problem, because Chrome doesn't support that on Linux.

Could the test be buggy? In src/third_party/webgl/src/sdk/tests/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-video.js there is this code snippet:

        video = document.createElement("video");
        video.oncanplaythrough = function() {
            runImageBitmapTest(video, 1, internalFormat, pixelFormat, pixelType, gl, tiu, wtu, true);
            finishTest();
        }
        video.src = resourcePath + "red-green.theora.ogv";
        document.body.appendChild(video);

It looks like the test is waiting for the "oncanplaythrough" event but I don't see where play() is actually being called on the video.

There is a "startPlayingAndWaitForVideo" helper in sdk/tests/js/webgl-test-utils.js which should be used in these tests.

Comment 3 by kbr@chromium.org, Dec 5 2016

https://github.com/KhronosGroup/WebGL/pull/2184 makes this change. Will roll it in once merged.

oncanplaythough just means it has enough data to play through. I don't see anything obviously flaky about this construction.

Comment 5 by kbr@chromium.org, Dec 5 2016

The video element wasn't told to play itself. I'm not sure what constructing an ImageBitmap from it means in that state, but all of the other video tests in the conformance suite use WebGLTestUtils.startPlayingAndWaitForVideo, so this one should, too.

Even if it's not playing there should be a frame that is available once we reach canplaythrough. We've already painted the first frame by the time JS receives that event. So a call to paint() should return a valid frame.

But if all the other tests use that function I may be missing something.
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 6 2016

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

commit 153fc12bfd9db7b6384423529e2aead4629760fa
Author: kbr <kbr@chromium.org>
Date: Tue Dec 06 00:16:26 2016

Roll WebGL 3e235f7..f554de2

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/3e235f7..f554de2

BUG= 671209 

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=zmo@chromium.org

Review-Url: https://codereview.chromium.org/2553683004
Cr-Commit-Position: refs/heads/master@{#436468}

[modify] https://crrev.com/153fc12bfd9db7b6384423529e2aead4629760fa/DEPS
[modify] https://crrev.com/153fc12bfd9db7b6384423529e2aead4629760fa/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Comment 8 by kbr@chromium.org, Dec 6 2016

Status: Fixed (was: Started)
I've updated the test to hopefully be more robust in the above WebGL conformance roll. senorblanco@: I'd appreciate it if you could watch the bots and reopen this if you see another such failure.

Sign in to add a comment