Search Unity

Interpreting Play Store crash reports - where to start?

Discussion in 'Daydream' started by jmitcheson, Jan 8, 2018.

  1. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    Hi,

    Two users submitted a crash report (Daydream, 5.6.1f1, SDK 1.7). Happens both on Android 7.1 and 8.

    I'm provided only with the trace from the native side - can anyone help me interpret roughly where to start?

    I see "gvr_initialize_gl+22" - anyone know if that means the crash was during loading?

    Thanks

    Code (CSharp):
    1. backtrace:
    2.   #00  pc 00000000000ce8d4  /data/app/com.google.vr.vrcore-VMrBJV23LhRZS4tPsgCCow==/lib/arm/libvrcore_native.so
    3.   #01  pc 0000000000226d77  /data/app/com.google.vr.vrcore-VMrBJV23LhRZS4tPsgCCow==/lib/arm/libvrcore_native.so
    4.   #02  pc 000000000001aa7b  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libgvr.so (gvr_initialize_gl+22)
    5.   #03  pc 00000000009f85fc  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libunity.so
    6.   #04  pc 00000000009eccdc  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libunity.so
    7.   #05  pc 00000000009e969c  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libunity.so
    8.   #06  pc 00000000003182e8  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libunity.so
    9.   #07  pc 00000000005e7af0  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libunity.so
    10.   #08  pc 00000000005ea904  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/lib/arm/libunity.so
    11.   #09  pc 0000000000028183  /data/app/com.worldspace.fantasytd-Saf4mPekwrSfJcIYHL3giQ==/oat/arm/base.odex
     
  2. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    Is this all the data you get from the play store or are you able to get the logcat output as well? Do you know what the devices these are from? What versions of VR services? This really isn't enough to go on other than "yes, it most likely is on startup".
     
  3. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    I might be in luck - the pre-launch test crashes and gives logcat (but no VR services version AFAICT)

    Google Pixel sailfish
    Android 7.1
    File attached

    It's difficult to tell which error level statements are actually fatal - I did pick out this one though

    Code (CSharp):
    1. 12-20 03:05:08.644: E/libEGL(7191): eglCreateNativeClientBufferANDROID:1855 error 300c (EGL_BAD_PARAMETER)
     

    Attached Files:

  4. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    After closer examination of these crash reports I think this is a non-problem (they are all for older versions of the app and the latest versions do not seem to have any problem).

    Please ignore thread!

    Thanks for the response though joejo.
     
  5. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    As far as I can tell, everything looks good up to here:

    12-20 03:05:08.593: W/VrSettingsProvider(2098): Received query with unsupported uri: content://com.google.vr.vrcore.settings/user_prefs
    12-20 03:05:08.593: E/ContentProviderVrParamsProvider(7191): Invalid params result from ContentProvider query: content://com.google.vr.vrcore.settings/user_prefs

    Then:

    12-20 03:05:08.611: W/VrCoreSdkClient(7191): Failed to obtain DaydreamManager from VrCore SDK Service.

    Then:

    12-20 03:05:10.619: I/VrManagerService(1027): VR mode disabled

    Then things go down hill. Unfortunately that definitely has nothing to do with Unity directly but with the core Google VR service. I don't see any Unity logging of errors or issue still after that, and that has to do with the engine hanging while the app is shutting down (A potential occurrence with the Unity VR system in 5.6).

    Some suggestions:

    1) Upgrade to latest 5.6 (5.6.4).
    2) Disable dynamic loading in Daydream. By default Daydream will always load the latest VR Service version regardless of NDK version that you are using. The NDK version in 5.6.1 is pretty old and I am not sure what issues there may be with that and the ver 1.2 GVR Service version being loaded.

    You can find this in Daydream developer settings. (see https://stackoverflow.com/questions...-library-loading-developer-options-on-android for more info)

    BTW: Are you running some sort of UI driver on your app (like automation testing, something called Robo)?
     
  6. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    Thanks very much for the suggestions. I did not know about the dynamic loading.

    Yes, that log is from the automated testing system on the Google Play store.
     
  7. reedny

    reedny

    Joined:
    Mar 4, 2017
    Posts:
    57
    @jmitcheson does the pre-launch auto testing on Google Play store work well with Daydream apps? I figured it would get stuck at the point where Daydream is waiting for the Controller to pair before starting the app. It would be great if it detected a Daydream app and had a Controller emulator that would be used to test the app.
     
  8. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    @reedny It doesn't work well at all! The system ran my Daydream app on Android 7.1 and Android 8 - here is a brief summary of results inferred from watching the generated video

    7.1 - App loads as far as splash screen; crashes afterwards
    8 - App refuses to even start because Daydream not installed

    And with the 7.1 crash I don't even know if this is a 'real' crash or just a result of the system not being configured correctly.