New issue
Advanced search Search tips
Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 563816



Sign in to add a comment

"gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_OffscreenCanvasTransfer*StyleResize" is flaky

Project Member Reported by chromium...@appspot.gserviceaccount.com, Jun 20 2017 Back to list

Issue description

"gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_OffscreenCanvasTransferBeforeStyleResize" is flaky.

This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label.

We have detected 4 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNybwsSBUZsYWtlImRncHVfdGVzdHMucGl4ZWxfaW50ZWdyYXRpb25fdGVzdC5QaXhlbEludGVncmF0aW9uVGVzdC5QaXhlbF9PZmZzY3JlZW5DYW52YXNUcmFuc2ZlckJlZm9yZVN0eWxlUmVzaXplDA.

Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs

This flaky test/step was previously tracked in  issue 720188 .
 

Comment 1 by vabr@chromium.org, Jun 21 2017

Labels: -Sheriff-Chromium
Owner: junov@chromium.org
Status: Assigned (was: Untriaged)
Assigning to junov@, who recently enabled the test in https://chromium-review.googlesource.com/c/539677/.

I will disable the test soon.
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 21 2017

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

commit abc9d7aeb5a7aa1e919b01b0bf3c07a127c152fb
Author: Vaclav Brozek <vabr@chromium.org>
Date: Wed Jun 21 11:13:43 2017

Disable Pixel_OffscreenCanvasTransfer*StyleResize tests

TBR=junov@chromium.org
BUG= 735171 , 735228 

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ia4fbdf4cbececb8c4bb877cfc8b8f2f2f21d2710
Reviewed-on: https://chromium-review.googlesource.com/542818
Commit-Queue: Vaclav Brozek <vabr@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481172}
[modify] https://crrev.com/abc9d7aeb5a7aa1e919b01b0bf3c07a127c152fb/content/test/gpu/gpu_tests/pixel_expectations.py

Comment 3 by junov@chromium.org, Jun 21 2017

The logs are showing this error when the failure occurs: [15164:15164:0620/153041.951213:ERROR:gles2_cmd_decoder.cc(17741)] [.DisplayCompositor-0x2484f3ad5200]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[15164:15164:0620/153041.951255:ERROR:gles2_cmd_decoder.cc(9773)] [.DisplayCompositor-0x2484f3ad5200]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.

I suspect there is a race condition in the destruction of textures passed as mailboxes.

Comment 4 by junov@chromium.org, Jun 21 2017

Blocking: 563816
Components: Blink>Canvas

Comment 5 by junov@chromium.org, Jun 21 2017

Summary: "gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_OffscreenCanvasTransfer*StyleResize" is flaky (was: "gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_OffscreenCanvasTransferBeforeStyleResize" is flaky)

Comment 6 by junov@chromium.org, Jun 21 2017

Cc: junov@chromium.org
 Issue 735171  has been merged into this issue.

Comment 7 by junov@chromium.org, Jun 21 2017

Cc: xlai@chromium.org
 Issue 734936  has been merged into this issue.

Comment 8 by junov@chromium.org, Jul 27 2017

Labels: -Pri-1 Pri-2

Comment 9 by junov@chromium.org, Jul 27 2017

Reduced priority since this issue concerns a feature that is not yet shipping.
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 20 2017

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

commit 1a3eea87e2f6a5e96fe31e911cd745dc0f980e8d
Author: xlai-o <xlai@chromium.org>
Date: Fri Oct 20 16:05:46 2017

Re-enable Pixel_OffscreenCanvasTransfer*StyleResize tests

Check whether the flakiness is gone away with the latest updates on GPU
scheduler.

Bug:  735228 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4c2febd2bbe725d5403d984f71996b92d7756b09
Reviewed-on: https://chromium-review.googlesource.com/726405
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Olivia Lai <xlai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510457}
[modify] https://crrev.com/1a3eea87e2f6a5e96fe31e911cd745dc0f980e8d/content/test/gpu/gpu_tests/pixel_expectations.py

Comment 11 by xlai@chromium.org, Oct 23 2017

Flakiness is still observed in places like
https://build.chromium.org/p/chromium.gpu/builders/Mac%20Retina%20Debug%20(AMD)/builds/12824
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/571201

On Flakiness dashboard, https://test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&testType=pixel_test&builder=chromium.gpu.fyi%3AWin7%20x64%20Release%20(NVIDIA), I feel that the failure frequency is roughly about 1 in 30. But a higher frequency is observed in some Windows machines.

The correct picture should be a green-background white triangle in a yellow-border rectangle. But the shown image is a dark rectangle in yellow-border rectangle.

Warning messages are still one

"[ERROR:gles2_cmd_decoder.cc(18119)] [.DisplayCompositor-0x564373a0820]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name"

followed by a number of these:

"[ERROR:gles2_cmd_decoder.cc(9938)] [.DisplayCompositor-0x564373a0820]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering."

I'll look into that.




Comment 12 by xlai@chromium.org, Oct 24 2017

 Issue 777927  has been merged into this issue.
Should we disable this again? It has started flaking on the CQ bots: https://build.chromium.org/p/chromium.gpu/waterfall?builder=Win7%20Debug%20(NVIDIA).
Project Member

Comment 14 by bugdroid1@chromium.org, Oct 25 2017

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

commit 2b36f891b9ee5ca4e02927784f9b38718e82c41d
Author: Khushal <khushalsagar@chromium.org>
Date: Wed Oct 25 04:19:20 2017

Revert "Re-enable Pixel_OffscreenCanvasTransfer*StyleResize tests"

This reverts commit 1a3eea87e2f6a5e96fe31e911cd745dc0f980e8d.

Reason for revert: Still flaking on the GPU bots.

Original change's description:
> Re-enable Pixel_OffscreenCanvasTransfer*StyleResize tests
> 
> Check whether the flakiness is gone away with the latest updates on GPU
> scheduler.
> 
> Bug:  735228 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: I4c2febd2bbe725d5403d984f71996b92d7756b09
> Reviewed-on: https://chromium-review.googlesource.com/726405
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Commit-Queue: Olivia Lai <xlai@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#510457}

TBR=zmo@chromium.org,kbr@chromium.org,xlai@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  735228 
Change-Id: I747d6e816565f7ea3ac6c6b2d547be843956596b
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/736671
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511368}
[modify] https://crrev.com/2b36f891b9ee5ca4e02927784f9b38718e82c41d/content/test/gpu/gpu_tests/pixel_expectations.py

Comment 15 by xlai@chromium.org, Oct 25 2017

khushalsagar@: Thanks khushalsagar, I was actually trying to disable it in https://chromium-review.googlesource.com/c/735753/ but it was blocked on win trybot's exception.
Owner: xlai@chromium.org
Status: Started (was: Assigned)
This one might need some high-level design to avoid race condition between the usual compositor commit in layer tree, and the OffscreenCanvas.commit().
Project Member

Comment 17 by bugdroid1@chromium.org, Apr 13

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

commit 4806cee353459fd73ca4c7522701666488e5efc4
Author: xlai <xlai@chromium.org>
Date: Fri Apr 13 20:11:13 2018

Add image release callback to Webgl commit() in OffscreenCanvas

DrawingBuffer::TransferToStaticBitmapImage() is the common function shared by
commit() and transferToImageBitmap() in OffscreenCanvas WebGL, as well as the
VR display frame submission. The two OffscreenCanvas APIs miss a release
callback; as a result, release_callback populated by image extraction function
PrepareTransferableResourceInternal is invoked very early with a "lost
resource" signal. On the other hand, VR display frame submission has correctly
implemented a release callback that is releasing previous frame whenever there
is a new frame coming in.

This is a very likely reason to contribute to the flakiness of these two
OffscreenCanvas APIs, while the VR display is working well.

This CL adds a release callback to OffscreenCanvas commit(). I will follow-up
with another CL that adds release callback to OffscreenCanvas
transferToImageBitmap() and another CL that enables the relevant gpu
pixel tests.



Bug: 809227,  735228 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ia6e2c613de416f1e6e2a0f1c833d9e82e47fed4f
Reviewed-on: https://chromium-review.googlesource.com/1010466
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Olivia Lai <xlai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550740}
[modify] https://crrev.com/4806cee353459fd73ca4c7522701666488e5efc4/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
[modify] https://crrev.com/4806cee353459fd73ca4c7522701666488e5efc4/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
[modify] https://crrev.com/4806cee353459fd73ca4c7522701666488e5efc4/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.h

Project Member

Comment 18 by bugdroid1@chromium.org, Apr 16

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

commit 408e3ae7cbd284dced54e426efaab17365a87785
Author: xlai <xlai@chromium.org>
Date: Mon Apr 16 22:04:58 2018

Enable Pixel_OffscreenCanvasTransfer*StyleResize

Would like to see if the tests are no longer flaky after
https://chromium-review.googlesource.com/1010466.

TBR=kbr@chromium.org

Bug:  735228 , 735171 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic2bdeb13f52f4fff4f94cc7f7ee46f503c7646f3
Reviewed-on: https://chromium-review.googlesource.com/1012985
Commit-Queue: Olivia Lai <xlai@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551140}
[modify] https://crrev.com/408e3ae7cbd284dced54e426efaab17365a87785/content/test/gpu/gpu_tests/pixel_expectations.py

Project Member

Comment 19 by bugdroid1@chromium.org, Apr 17

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4806cee353459fd73ca4c7522701666488e5efc4

commit 4806cee353459fd73ca4c7522701666488e5efc4
Author: xlai <xlai@chromium.org>
Date: Fri Apr 13 20:11:13 2018

Add image release callback to Webgl commit() in OffscreenCanvas

DrawingBuffer::TransferToStaticBitmapImage() is the common function shared by
commit() and transferToImageBitmap() in OffscreenCanvas WebGL, as well as the
VR display frame submission. The two OffscreenCanvas APIs miss a release
callback; as a result, release_callback populated by image extraction function
PrepareTransferableResourceInternal is invoked very early with a "lost
resource" signal. On the other hand, VR display frame submission has correctly
implemented a release callback that is releasing previous frame whenever there
is a new frame coming in.

This is a very likely reason to contribute to the flakiness of these two
OffscreenCanvas APIs, while the VR display is working well.

This CL adds a release callback to OffscreenCanvas commit(). I will follow-up
with another CL that adds release callback to OffscreenCanvas
transferToImageBitmap() and another CL that enables the relevant gpu
pixel tests.



Bug: 809227,  735228 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ia6e2c613de416f1e6e2a0f1c833d9e82e47fed4f
Reviewed-on: https://chromium-review.googlesource.com/1010466
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Olivia Lai <xlai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550740}
[modify] https://crrev.com/4806cee353459fd73ca4c7522701666488e5efc4/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
[modify] https://crrev.com/4806cee353459fd73ca4c7522701666488e5efc4/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
[modify] https://crrev.com/4806cee353459fd73ca4c7522701666488e5efc4/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.h

Project Member

Comment 20 by bugdroid1@chromium.org, Apr 17

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

commit 408e3ae7cbd284dced54e426efaab17365a87785
Author: xlai <xlai@chromium.org>
Date: Mon Apr 16 22:04:58 2018

Enable Pixel_OffscreenCanvasTransfer*StyleResize

Would like to see if the tests are no longer flaky after
https://chromium-review.googlesource.com/1010466.

TBR=kbr@chromium.org

Bug:  735228 , 735171 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic2bdeb13f52f4fff4f94cc7f7ee46f503c7646f3
Reviewed-on: https://chromium-review.googlesource.com/1012985
Commit-Queue: Olivia Lai <xlai@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551140}
[modify] https://crrev.com/408e3ae7cbd284dced54e426efaab17365a87785/content/test/gpu/gpu_tests/pixel_expectations.py

Status: Fixed (was: Started)
The tests have been enabled for some days. No flakiness is seen. The generated images are all correct.

Sign in to add a comment