DCHECK causing flaky VR entry |
||||||||
Issue descriptionI'm occasionally getting some browser crashes during tests locally due to a failing DCHECK. This doesn't appear to be happening on the bots, at least not frequently, so it may be a race condition that only happens on faster devices. The failing DCHECK is !gpu_trace_ || gpu_trace_->fence()->HasCompleted() in vr_shell_gl.cc (https://cs.chromium.org/chromium/src/chrome/browser/android/vr/vr_shell_gl.cc?q=vr_shell_gl.cc&sq=package:chromium&dr&l=1890). Assigning to klausw@ since this appears GPU-related and the person who originally added the check (bshe) has left the team. So far, I've only seen this in VrShellNativeUiTest#testUrlOnNativeUi and VrShellTransitionTest#testEnterVrInOverviewMode with Daydream View paired, although I imagine it could happen in any VR browser test. There doesn't seem to be a specific time when this happens - one time occurred shortly after VR entry (GVR seems to have gone through all its setup properly), and another time seems to have occurred before any VR setup was done at all.
,
Jun 19 2018
Symbolized stack trace.
,
Jun 19 2018
This looks like a race condition, speculative fix in https://chromium-review.googlesource.com/c/chromium/src/+/1107013
,
Jun 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f841373183512995ec359f189e6e7300ab87b7b8 commit f841373183512995ec359f189e6e7300ab87b7b8 Author: Klaus Weidner <klausw@chromium.org> Date: Wed Jun 20 01:59:24 2018 Fix DCHECK for VR Browsing's gpu trace fence This fence is used to measure render time in VR Browsing mode. Replacing the gpu_fence_ member after GVR Submit has a race condition - GVR internally creates a fence when submitting and blocks the next Submit until the previous submitted frame's fence is complete, but the separate render time fence was created after submitting, so we may end up with a situation where this second fence hasn't registered as complete yet. Update the order to create the new fence first in a locally scoped variable before GVR submit, then overwrite the previous fence only after GVR submit completes. BUG=854347 Change-Id: I8359f67859016039b2ddf5d54d5f391c5e212918 Reviewed-on: https://chromium-review.googlesource.com/1107013 Reviewed-by: Bill Orr <billorr@chromium.org> Commit-Queue: Klaus Weidner <klausw@chromium.org> Cr-Commit-Position: refs/heads/master@{#568694} [modify] https://crrev.com/f841373183512995ec359f189e6e7300ab87b7b8/chrome/browser/android/vr/vr_shell_gl.cc
,
Jun 20 2018
Marking fixed based on bsheedy@'s tests not showing a recurrence so far, please reopen if it shows again.
,
Jun 20 2018
Just encountered this again on ToT.
,
Jun 20 2018
Looks like the same stack trace.
,
Jun 27 2018
I think this might be the cause of the recent renderer crashes we've been seeing on the bot https://00e9e64bac67c4ab9a77a98bfa0bc65a655f4df752b8c0b8a4-apidata.googleusercontent.com/download/storage/v1/b/chromium-result-details/o/98780fe55a3fffd273c87ffe8a4e5b79a399306d?qk=AD5uMEtNGhKlEd1bvqBz800Sk42JQJ2tpi7qGzxACrj13Zn2uP2X_-1RQIdamiWexCoBrUZ9d8zpry46v3xgZUjjnBKYPVY8L3TOYepCpS02JrwWvx9Qcluc7K8zPwcQM5Mz0JN9jynJ2ZVkVbwAxZZebOvU1hMDqyCn8EoJt-nF0gWpkmy0LyN6FQ8S4bXSwV5DhQ2UfsFgl8dPFxESkcKrSFKlgzNU_TFM6kz7hnw8YOi26ZgFSgrBIWBmbf1QovA5V13ePuEsNe5c1wPaGPIbwPWXtJKt6E4RYWSgeaOUWL9Fc0J86ZzUUzl1rDGHGiKnQUg8VCtIV1b0GClafM4ZAr65sYjD4IqrfeofPMLF0kFLltXHvm5vOS-2EHnUG6J9u3oCzZwxDuM4RrUzzyjl-K7c_BLyWv_O4OQrQwGE85RujR7mrCUb3vyRBR4Z3GkWjHiNDXMyqJL--L7xfjcOSShx2AMQl-k90DSDWnIp4Wi61CvlAMJGPhk8_6geht2e-d5QHxNWIsUt_AzOSQRq29e-OEuDb8xOF3OHcVxVXyOEn-VBgalja85iBcyIXxFYQ2TQc4AhVvkh3qI7B6AK7-QJQg1P69EmwqlPUmshOlrUyGlYWwxB6fNKZcbWACgV72EaiudjAsCXEOPnbGuINXqW789qcMAyVN_XVZeZhCYbDfsxOIr_DmquQ4J-jDIBqgDaWm6zf8SAoKscWb4dsMjZOZtf_c9_6GfHzHkAirzouOvWacwLponpD9zxnC8i_5rz8onYnkMfVXNVYk9tdHVXpPGgHw (wow that's a long link)
,
Jun 27 2018
Linked image attached below for those that don't have access to the swarming results server.
,
Jun 27 2018
The "Aw Snap" looks like a Renderer crash, while the original DCHECK failure was in the Browser process in vr_shell_gl. Can you file that separately if you have more info on it? I'm looking into a workaround for the DCHECK.
,
Jun 27 2018
Trying to get a stack trace, will file a bug once I get one.
,
Jul 4
,
Aug 7
Removing Internals>VR component and assigning to Internals>XR
,
Aug 7
,
Aug 29
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by bsheedy@chromium.org
, Jun 19 2018130 KB
130 KB Download
101 KB
101 KB Download