WebGL conformance test textures_image_bitmap_from_video_tex_3d_rg8_rg_unsigned_byte is flaky on Linux Release (NVIDIA GeForce 730) |
|||
Issue descriptionhttps://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)
,
Dec 5 2016
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.
,
Dec 5 2016
https://github.com/KhronosGroup/WebGL/pull/2184 makes this change. Will roll it in once merged.
,
Dec 5 2016
oncanplaythough just means it has enough data to play through. I don't see anything obviously flaky about this construction.
,
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.
,
Dec 5 2016
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.
,
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
,
Dec 6 2016
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 |
|||
Comment 1 by senorblanco@chromium.org
, Dec 5 2016