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

Issue 902224 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Flaky-Test: WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent

Blocking:
issue 884876



Sign in to add a comment

WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent is flaky

Project Member Reported by Findit, Nov 6

Issue description


Flaky test: WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent
Sample failed build due to flakiness: https://ci.chromium.org/buildbot/chromium.mac/Mac10.13%20Tests%20%28dbg%29/6211
Test output log: https://chromium-swarm.appspot.com/task?id=40ffb8c7917c3110
Culprit (92.8% confidence): r605554
Analysis: https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVy3QELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKmAWNocm9taXVtLm1hYy9NYWMxMC4xMyBUZXN0cyAoZGJnKS82MjExL2Jyb3dzZXJfdGVzdHMgb24gKG5vbmUpIEdQVSBvbiBNYWMvVjJWaVZtbGxkMU5wZW1WVVpYTjBMbE5vYVcxZlZHVnpkRkpsYzJsNlpWZGxZblpwWlhkWGFYUm9SR2x6Y0d4aGVVNXZibVZTWlhOcGVtVnpRMjl1ZEdWdWRBPT0MCxITTWFzdGVyRmxha2VBbmFseXNpcxgBDA

Please revert the culprit, or disable the test and find the appropriate owner.

If the culprit above is wrong, please file a bug using this link:
https://bugs.chromium.org/p/chromium/issues/entry?status=Unconfirmed&labels=Pri-1,Test-Findit-Wrong&components=Tools%3ETest%3EFindit%3EFlakiness&summary=%5BFindit%5D%20Flake%20Analyzer%20-%20Wrong%20result%20for%20WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent&comment=Link%20to%20Analysis%3A%20https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVy3QELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKmAWNocm9taXVtLm1hYy9NYWMxMC4xMyBUZXN0cyAoZGJnKS82MjExL2Jyb3dzZXJfdGVzdHMgb24gKG5vbmUpIEdQVSBvbiBNYWMvVjJWaVZtbGxkMU5wZW1WVVpYTjBMbE5vYVcxZlZHVnpkRkpsYzJsNlpWZGxZblpwWlhkWGFYUm9SR2x6Y0d4aGVVNXZibVZTWlhOcGVtVnpRMjl1ZEdWdWRBPT0MCxITTWFzdGVyRmxha2VBbmFseXNpcxgBDA

Automatically posted by the findit-for-me app (https://goo.gl/Ot9f7N).
 
Project Member

Comment 1 by Findit, Nov 6


Flaky test: WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent
Sample failed build due to flakiness: https://ci.chromium.org/buildbot/chromium.memory/Linux%20ASan%20Tests%20%28sandboxed%29/52298
Test output log: https://chromium-swarm.appspot.com/task?id=40ffe1f1a50b4e10
Culprit (92.0% confidence): r605554
Analysis: https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVy1AELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKdAWNocm9taXVtLm1lbW9yeS9MaW51eCBBU2FuIFRlc3RzIChzYW5kYm94ZWQpLzUyMjk4L2Jyb3dzZXJfdGVzdHMvVjJWaVZtbGxkMU5wZW1WVVpYTjBMbE5vYVcxZlZHVnpkRkpsYzJsNlpWZGxZblpwWlhkWGFYUm9SR2x6Y0d4aGVVNXZibVZTWlhOcGVtVnpRMjl1ZEdWdWRBPT0MCxITTWFzdGVyRmxha2VBbmFseXNpcxgBDA

Please revert the culprit, or disable the test and find the appropriate owner.

If the culprit above is wrong, please file a bug using this link:
https://bugs.chromium.org/p/chromium/issues/entry?status=Unconfirmed&labels=Pri-1,Test-Findit-Wrong&components=Tools%3ETest%3EFindit%3EFlakiness&summary=%5BFindit%5D%20Flake%20Analyzer%20-%20Wrong%20result%20for%20WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent&comment=Link%20to%20Analysis%3A%20https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVy1AELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKdAWNocm9taXVtLm1lbW9yeS9MaW51eCBBU2FuIFRlc3RzIChzYW5kYm94ZWQpLzUyMjk4L2Jyb3dzZXJfdGVzdHMvVjJWaVZtbGxkMU5wZW1WVVpYTjBMbE5vYVcxZlZHVnpkRkpsYzJsNlpWZGxZblpwWlhkWGFYUm9SR2x6Y0d4aGVVNXZibVZTWlhOcGVtVnpRMjl1ZEdWdWRBPT0MCxITTWFzdGVyRmxha2VBbmFseXNpcxgBDA

Automatically posted by the findit-for-me app (https://goo.gl/Ot9f7N).
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 6

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

commit ed198292670dd090c5092c2318aee7a6855e0164
Author: Kunihiko Sakamoto <ksakamoto@chromium.org>
Date: Tue Nov 06 07:19:07 2018

Revert "viz: Throttle begin-frames to offscreen clients."

This reverts commit b04ad36ce3a18b0cc4c0f01406117566efccd4cb.

Reason for revert: Made WebViewSizeTest.Shim_TestResizeWebviewWithDisplayNoneResizesContent flaky. crbug.com/902224

Original change's description:
> viz: Throttle begin-frames to offscreen clients.
> 
> If a surface is offscreen, then stop sending it OnBeginFrame messages.
> This avoids doing unnecessary work in the client. If an OOPIF, video,
> etc. are offscreen because the main-page has been scrolled too far (or
> not enough, or for some other reason), then they don't need to be
> submitting new frames. Not sending the begin-frame messages to the
> oopif etc. stops it from continuing to generate and submit new frames.
> The side effect of this is that once the oopif becomes visible again,
> its first frame can still be old content. This can resolved (e.g. by
> throttling the messages, instead of stopping them outright), but I
> think it's worth experimenting with this approach first. I think of
> this as being a bit similar to how we do not trigger rAF callbacks on
> background tabs.
> 
> One exception is that a begin-frame is always sent to a surface when
> it is first embedded, even if it is offscreen. This allows the clients
> to determine correctly when their embedding is complete.
> 
> BUG=884876
> 
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
> Change-Id: I5c58a0fc956338b470b2fbfe30079d661927c894
> Reviewed-on: https://chromium-review.googlesource.com/c/1278535
> Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
> Reviewed-by: Fernando Serboncini <fserb@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#605554}

TBR=sadrul@chromium.org,kenrb@chromium.org,fsamuel@chromium.org,fserb@chromium.org,piman@chromium.org

Change-Id: I383fb0ba353074db91ae0bdc3f204005d59551be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 884876, 902224
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1319402
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605622}
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/display/display.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/display/display.h
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/display/display_scheduler.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/display/display_scheduler.h
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/display/display_scheduler_unittest.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/frame_sinks/compositor_frame_sink_support.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/frame_sinks/compositor_frame_sink_support.h
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/surfaces/surface.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/surfaces/surface.h
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/components/viz/service/surfaces/surface_manager.cc
[modify] https://crrev.com/ed198292670dd090c5092c2318aee7a6855e0164/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Cc: kenrb@chromium.org fsam...@chromium.org sadrul@chromium.org fs...@chromium.org piman@chromium.org
Labels: -Pri-1 -Sheriff-Chromium Pri-2
Owner: sadrul@chromium.org
Status: Assigned (was: Untriaged)
Since this has been reverted, assigning to CL owner and removing sheriff label.
Blocking: 884876
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 9

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

commit 6d48953f8e42acdb29405aa34bd4e7757ee036aa
Author: Sadrul Habib Chowdhury <sadrul@chromium.org>
Date: Wed Jan 09 18:57:48 2019

Reland "viz: Throttle begin-frames to offscreen clients."

This relands crrev.com/605554. The fix since the original change:
 . Instead of completely blocking begin-frames to offscreen clients,
   send at most one begin-frame every second to offscreen clients. This
   ensures that the content of the offscreen clients do not lag behind
   too far.

Original CL description
=======================
If a surface is offscreen, then stop sending it OnBeginFrame messages.
This avoids doing unnecessary work in the client. If an OOPIF, video,
etc. are offscreen because the main-page has been scrolled too far (or
not enough, or for some other reason), then they don't need to be
submitting new frames. Not sending the begin-frame messages to the
oopif etc. stops it from continuing to generate and submit new frames.
The side effect of this is that once the oopif becomes visible again,
its first frame can still be old content. This can resolved (e.g. by
throttling the messages, instead of stopping them outright), but I
think it's worth experimenting with this approach first. I think of
this as being a bit similar to how we do not trigger rAF callbacks on
background tabs.

One exception is that a begin-frame is always sent to a surface when
it is first embedded, even if it is offscreen. This allows the clients
to determine correctly when their embedding is complete.

BUG=884876, 902224

Change-Id: If41cdd703fda4fe7a09171f862dae8771b2ab3a6
Reviewed-on: https://chromium-review.googlesource.com/c/1320199
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621246}
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/display/display.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/display/display.h
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/display/display_scheduler.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/display/display_scheduler.h
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/display/display_scheduler_unittest.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/frame_sinks/compositor_frame_sink_support.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/frame_sinks/compositor_frame_sink_support.h
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/surfaces/surface.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/surfaces/surface.h
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/components/viz/service/surfaces/surface_manager.cc
[modify] https://crrev.com/6d48953f8e42acdb29405aa34bd4e7757ee036aa/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Sign in to add a comment