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

Issue 907176 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 908582
Owner:
Closed: Nov 30
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR

Blocked on:
issue 908582



Sign in to add a comment

VR DON canceled test very flaky

Project Member Reported by bsheedy@chromium.org, Nov 20

Issue description

The WebXrVrTransitionTest#testPresentationPromiseRejectedIfDonCanceled tests started being extremely flaky as of ~2 weeks ago. A bisect points to https://chromium-review.googlesource.com/c/1320191 as the culprit.

Looking at the post-failure screenshot and logcat, it appears the issue is that we're getting a renderer crash caused by this DCHECK https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc?q=is_hidden+file:drawing_buffer.cc&sq=package:chromium&dr=C&l=329.

Unfortunately, I'm unable to get an actual stack trace (I have yet to find a way of getting stacks for renderer crashes), but judging by the logcat output, this is occurring as Chrome is resumed after the DON flow (VR entry screens) are canceled.

danakj@, any easy fixes you see before I revert this?
 
Can you include the logcat?
Sample logcat attached.
DON_flakiness_logcat.txt
71.4 KB View Download
Cc: a...@chromium.org enne@chromium.org ajwong@chromium.org dcheng@chromium.org piman@chromium.org
Oh, can you symbolize that stack trace? Do the bots not do that?
I don't think so :( I have yet to find a way to symbolize renderer process crashes, locally or on the bots. The bots and the local stack tool work for browser crashes, but seem to ignore renderer crashes.
Blockedon: 908582
WebGL is_hidden_ comes from the page visibility, aka RenderViewImpl::OnPageWasShown/Hidden().

DrawingBuffer::PrepareTransferableResourceInternal() comes from a couple places but is most /likely/ coming from TextureLayer::Update here. Which runs when the compositor is visible, which is controlled from RenderWidget's visibility aka RenderWidget::OnWasShown/Hidden().

Having 2 different signals for this is a known problem... I'm filing a bug for that specifically.
Based on my investigation on 908582, I'd say this has always been a problem just not for the main frame of the webpage, and you could comment out that DCHECK with a TODO over to 908582 if it's causing you trouble. Otherwise I will try to fix this holistically.
Status: Fixed (was: Assigned)
The patch from  Issue 908582 's c#11 seems to have fixed this. Thanks!
FWIW There will be a lot more work to get visibility more consistent, likely some timing changed for whatever other reason and its landing luckily on the less flaky side right now.
Mergedinto: 908582
Status: Duplicate (was: Fixed)
We may as well dupe over there though, if we're not going to disable the DCHECK in the meantime.

Sign in to add a comment