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

Issue 704692 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug
Proj-XR
Proj-XR-VR



Sign in to add a comment

Segfault when running VrShellTest#testEnterExitVrModeSupportedImage on FYI bot

Project Member Reported by bsheedy@chromium.org, Mar 23 2017

Issue description

Device: Pixel
OS: NMF26U
VrCore version: 1.3
Paired viewer: Daydream View

One of the VR Shell tests is segfaulting consistently on the FYI bot. I'm able to reproduce locally on my Pixel using the following build/test commands:

gn gen out-gn/bot --args='is_component_build=false is_debug=true proprietary_codecs=true strip_absolute_paths_from_debug_symbols=true symbol_level=1 target_os="android" use_goma=true ffmpeg_branding="Chrome"'
ninja -C out-gn/bot -j1000 -l70 chrome_public_apk chrome_public_test_vr_apk
out-gn/bot/bin/run_chrome_public_test_vr_apk --shared-prefs-file=chrome/android/shared_preference_files/test/vr_ddview_skipdon_setupcomplete.json --strict-mode off

This assumes that you already have VrCore 1.3 installed.

I was able to download the build and pull the stack trace (see attached), although it doesn't look related to VR at all.
 
fyi_image_segfault.txt
7.1 KB View Download
Cc: e...@chromium.org
I've traced the segfault to the first DCHECK in ProfileDestroyer::DestroyProfile() (https://cs.chromium.org/chromium/src/chrome/browser/profiles/profile_destroyer.cc?q=profiledestroyer+destroyprofile+package:%5Echromium$&dr=CSs&l=163), so accessing profile_ is somehow causing a segfault even though it's already been checked to not be null.

+erg@ since he's an owner of the relevant profile stuff. Any ideas about a potential cause or fix?

Comment 2 by e...@chromium.org, Mar 28 2017

I know that Android does some things differently regarding profile lifetime compared to desktop, and this is outside my area of knowledge, but...

- Have you checked to see if the profile was destoryed previously? ie: Are you accessing a previously destroyed object? I don't know how that could be, but it's an obvious thing to check.

- Possible threading related issues? Profiles can only be accessed on the UI thread, iirc, but again, I don't know if the Android build does things differently.
- ProfileImpl's destructor hasn't been called at the start of DestroyProfile, so it doesn't seem to be an issue with accessing a previously destroyed object.

- BrowserThread::CurrentlyOn(BrowserThread::UI) is returning true, so it looks like we're running on the UI thread like we should.

Do you happen to know someone who would be more knowledgeable about what Android does differently?
Almost certainly related to  issue 697694 .
One slightly strange thing to note is that this seems to be 100% reproducible when the devices is in landscape mode, but not reproducible when in landscape.
Status: WontFix (was: Untriaged)
Closing, as the removal of the HTML UI fixed this.
Labels: VR-Caught-By-Test
Labels: -VR-Caught-By-Test XR-Caught-By-Test

Sign in to add a comment