VrShellNavigationTest#test2dTo2d broken in multiple ways (?) |
|||||||
Issue descriptionVrShellNavigationTest#test2dTo2d seems broken in 3 completely unrelated ways. First, it's failing 100% of the time on the Nougat bot. It first occurred in https://ci.chromium.org/buildbot/chromium.android/Nougat%20Phone%20Tester/3788, and the only VR-related CL there is a DOFF flow change. In this case, it's failing because it's failing to properly load the chrome://history page. The following is provided as the failure reason: java.lang.AssertionError: Page did not load. Tab information at time of failure -- url: file:///storage/emulated/0/chromium_tests_root/chrome/test/data/vr/e2e_test_files/html/test_navigation_2d_page2.html, final URL: chrome://history/, load progress: 100, is loading: false, web contents loading: false Looking at the logcat output, the following lines just before the failure seem slightly suspicious, although I don't know how this would relate to page loading: 02-22 04:20:52.435 11158 27753 I VrCtl.StateMachine: Restarting for controller GoogleDaydreamControllerV1 02-22 04:20:52.435 11158 27753 I VrCtl.StateMachine: Preparing controller GoogleDaydreamControllerV1 02-22 04:20:52.436 11158 27753 I VrCtl.StateMachine: Controller GoogleDaydreamControllerV1 state change STATE_ERROR --> STATE_PREPARING 02-22 04:20:52.436 11158 27753 I VrCtl.ControllerSelector: Creating ControllerDevice with driver: DRIVER_P6 02-22 04:20:52.436 11158 27753 I VrCtl.ControllerDriverFactory: Creating ControllerDevice for driver: DRIVER_P6 02-22 04:20:52.437 11158 27753 I VrCtl.PaprikaController: Soft disconnect mode: 02-22 04:20:52.447 11158 27753 E VrCtl.ControllerSelector: Controller unexpectedly absent from bonded device list: [name=DRIVER_P6,isEmulator=false,address=,usesBluetooth=false] 02-22 04:20:52.447 11158 27753 E VrCtl.StateMachine: Controller GoogleDaydreamControllerV1 experienced error: ERROR_CONTROLLER_NOT_BONDED 02-22 04:20:52.448 11158 27753 I VrCtl.StateMachine: Controller GoogleDaydreamControllerV1 state change STATE_PREPARING --> STATE_ERROR 02-22 04:20:52.449 11158 27753 W VrCtl.ControllerService: No controller found since the restart. 02-22 04:20:52.449 11158 27753 I VrCtl.ListenersManager: Controller GoogleDaydreamControllerV1 state updated to: SCANNING 02-22 04:20:52.449 11158 11158 I VrCtl.ControllerService: Not launching recovery flow for controller: GoogleDaydreamControllerV1 missingTimeMillis: 0 02-22 04:20:52.452 11158 27753 I VrCtl.ListenersManager: Controller GoogleDaydreamControllerV1 state updated to: DISCONNECTED 02-22 04:20:57.454 11158 27753 I VrCtl.StateMachine: Restarting for controller GoogleDaydreamControllerV1 02-22 04:20:57.454 11158 27753 I VrCtl.StateMachine: Preparing controller GoogleDaydreamControllerV1 02-22 04:20:57.454 11158 27753 I VrCtl.StateMachine: Controller GoogleDaydreamControllerV1 state change STATE_ERROR --> STATE_PREPARING 02-22 04:20:57.454 11158 27753 I VrCtl.ControllerSelector: Creating ControllerDevice with driver: DRIVER_P6 02-22 04:20:57.455 11158 27753 I VrCtl.ControllerDriverFactory: Creating ControllerDevice for driver: DRIVER_P6 02-22 04:20:57.456 11158 27753 I VrCtl.PaprikaController: Soft disconnect mode: 02-22 04:20:57.464 11158 27753 E VrCtl.ControllerSelector: Controller unexpectedly absent from bonded device list: [name=DRIVER_P6,isEmulator=false,address=,usesBluetooth=false] 02-22 04:20:57.464 11158 27753 E VrCtl.StateMachine: Controller GoogleDaydreamControllerV1 experienced error: ERROR_CONTROLLER_NOT_BONDED 02-22 04:20:57.465 11158 27753 I VrCtl.StateMachine: Controller GoogleDaydreamControllerV1 state change STATE_PREPARING --> STATE_ERROR 02-22 04:20:57.466 11158 27753 W VrCtl.ControllerService: No controller found since the restart. 02-22 04:20:57.466 11158 27753 I VrCtl.ListenersManager: Controller GoogleDaydreamControllerV1 state updated to: SCANNING 02-22 04:20:57.467 11158 11158 I VrCtl.ControllerService: Not launching recovery flow for controller: GoogleDaydreamControllerV1 missingTimeMillis: 0 02-22 04:20:57.467 11158 27753 I VrCtl.ListenersManager: Controller GoogleDaydreamControllerV1 state updated to: DISCONNECTED The post-failure screenshot shows that something's clearly wrong, as the content quad is completely black https://storage.cloud.google.com/chromium-result-details/f20440473962d8e4f619f5b7e5d6e3292fba01f1 Trying to reproduce this issue locally on O resulted in the two other failures. If I run the test while the phone is in landscape mode, the browser crashes due to hitting the OnMainThread() DCHECK in VrGLThread::ShowExitVrPrompt at https://cs.chromium.org/chromium/src/chrome/browser/android/vr_shell/vr_gl_thread.cc?q=vr_gl_thread.cc&sq=package:chromium&dr&l=363. This is weird because we shouldn't need to show the exit prompt during the test. If I run the test while the phone is in portrait mode, the history page is clearly messed up (super zoomed in), and the test fails due to: java.lang.AssertionError: Two navigations showed up in history expected:<2> but was:<1> This sort of makes sense, as only one history item is actually being shown (the way we check the number of history items might be affected by what's being actually displayed), but the history page weirdness that causes that is unexpected.
,
Feb 22 2018
The zoom effect seems to be caused by different screen sizes being reported. In portrait, it's 356 x 238. In landscape, it's 632 x 431. In both cases, the browser window size is reported as 980 x 656.
,
Feb 22 2018
Suspected build where the screen size issue was introduced was https://ci.chromium.org/buildbot/chromium.android/Nougat%20Phone%20Tester/3805, as the crash doesn't occur at any point before that. However, none of the CLs in that range look suspicious, and I'm unable to bisect since I get linker errors when building from around that time.
,
Feb 23 2018
,
Feb 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c7485d8253a3d67f5622c27879aeed842dd1738f commit c7485d8253a3d67f5622c27879aeed842dd1738f Author: bsheedy <bsheedy@chromium.org> Date: Fri Feb 23 20:48:29 2018 Fix two VR browser bugs Fixes two unrelated bugs that were causing VrShellNavigationTest#test2dTo2d to fail in different ways. The first is that, at least with the DON flow skipped, it's possible to get into the VR browser before we switch orientation to landscape, which results in incorrect screen dimensions and thus reported screen size. This is fixed by manually swapping width and height in this case. The second is that we could hit a DCHECK in native code for running on the UI thread when calling requestToExitVr. This is fixed by running the onClick that triggers this on the UI thread. Bug: 814934 Change-Id: Id3ec37f11beca833588b8bec4bfab4e84aaae1ab Reviewed-on: https://chromium-review.googlesource.com/935185 Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Michael Thiessen <mthiesse@chromium.org> Cr-Commit-Position: refs/heads/master@{#538889} [modify] https://crrev.com/c7485d8253a3d67f5622c27879aeed842dd1738f/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java [modify] https://crrev.com/c7485d8253a3d67f5622c27879aeed842dd1738f/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNavigationTest.java
,
Feb 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/43043b29c0cd9de8f3fd121c7c3c59117338a82c commit 43043b29c0cd9de8f3fd121c7c3c59117338a82c Author: Michael Thiessen <mthiesse@chromium.org> Date: Tue Feb 27 00:29:24 2018 Short-circuit link opening on History page when within ChromeActivity. VR doesn't like things starting 2D Activities, which is how the History page opens its links (by starting the LauncherActivity to do the routing). This CL changes the behaviour when the History page is not loaded as a separate Activity to short-circuit the Intent sending and talking to the tab creator/tab directly. Bug: 814934 Change-Id: Ib1c2bf8e7521e1c54a8c70195a8b2ade83c0483b Reviewed-on: https://chromium-review.googlesource.com/935263 Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org> Commit-Queue: Michael Thiessen <mthiesse@chromium.org> Cr-Commit-Position: refs/heads/master@{#539342} [modify] https://crrev.com/43043b29c0cd9de8f3fd121c7c3c59117338a82c/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
,
Feb 27 2018
This all fixed now Brian?
,
Feb 27 2018
Looks like it.
,
Feb 28 2018
,
Mar 1 2018
,
Jul 4
,
Aug 29
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by bsheedy@chromium.org
, Feb 22 2018