I'm trying to play a video on Daydream in my Unity game. However, the video causes the game to segfault whenever I try to play it. To verify that the video is what is causing the crash to occur, I removed the scene containing the video from my game. Sure enough, everything was working fine once that scene was gone. I am not sure what exactly is causing the crash, though.
I managed to capture logcat
output from a running instance of the game via adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG
and the parts that seem relevant to the crash are seen below (I do not wish to post a full dump of the logs since some of the information is private):
...
08-14 07:58:00.197 16524 16617 E Unity : Unable to find AudioPluginOculusSpatializer
08-14 07:58:00.197 16524 16617 D Unity : Unable to lookup library path for 'libaudioplugingvrunity', native render plugin support disabled.
08-14 07:58:00.197 16524 16617 E Unity : Unable to find libaudioplugingvrunity
08-14 07:58:00.207 16524 16617 D Unity : Unable to lookup library path for 'libAudioPluginOculusSpatializer', native render plugin support disabled.
08-14 07:58:00.207 16524 16617 E Unity : Unable to find libAudioPluginOculusSpatializer
...
08-14 07:58:19.257 16842 16842 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-14 07:58:19.257 16842 16842 F DEBUG : Build fingerprint: 'ZTE/P996A01_N/ailsa_ii:7.1.1/NMF26F/20170301.161705:user/release-keys'
08-14 07:58:19.257 16842 16842 F DEBUG : Revision: '0'
08-14 07:58:19.257 16842 16842 F DEBUG : ABI: 'arm'
08-14 07:58:19.257 16842 16842 F DEBUG : pid: 16524, tid: 16671, name: GLThread 513 >>> com.REDACTED.REDACTED <<<
08-14 07:58:19.257 16842 16842 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x20
08-14 07:58:19.257 16842 16842 F DEBUG : r0 00000000 r1 00000000 r2 fffe1a66 r3 72e77f00
08-14 07:58:19.257 16842 16842 F DEBUG : r4 f00f2008 r5 cf5fc900 r6 00000000 r7 cc6fc7e4
08-14 07:58:19.257 16842 16842 F DEBUG : r8 cc6fc828 r9 cc6fc738 sl cf5fc928 fp ce43fa10
08-14 07:58:19.257 16842 16842 F DEBUG : ip cc6fc7e4 sp cc6fc610 lr cd2ae69b pc cd329f58 cpsr 600d0030
08-14 07:58:19.257 16842 16842 F DEBUG :
08-14 07:58:19.257 16842 16842 F DEBUG : backtrace:
08-14 07:58:19.257 16842 16842 F DEBUG : #00 pc 0026ff58 /data/app/com.google.vr.vrcore-2/lib/arm/libvrcore_native.so
08-14 07:58:19.257 16842 16842 F DEBUG : #01 pc 001f4697 /data/app/com.google.vr.vrcore-2/lib/arm/libvrcore_native.so
08-14 07:58:19.257 16842 16842 F DEBUG : #02 pc 001f4821 /data/app/com.google.vr.vrcore-2/lib/arm/libvrcore_native.so
08-14 07:58:19.257 16842 16842 F DEBUG : #03 pc 001f5613 /data/app/com.google.vr.vrcore-2/lib/arm/libvrcore_native.so
08-14 07:58:19.257 16842 16842 F DEBUG : #04 pc 001dd7f1 /data/app/com.google.vr.vrcore-2/lib/arm/libvrcore_native.so
08-14 07:58:19.257 16842 16842 F DEBUG : #05 pc 0001df9d /data/app/com.REDACTED.REDACTED-2/lib/arm/libgvr.so (gvr_render_reprojection_thread+24)
08-14 07:58:19.257 16842 16842 F DEBUG : #06 pc 000a631f /data/app/com.REDACTED.REDACTED-2/lib/arm/libgvr.so (Java_com_google_vr_ndk_base_GvrApi_nativeRenderReprojectionThread+14)
08-14 07:58:19.257 16842 16842 F DEBUG : #07 pc 000b73f1 /data/app/com.REDACTED.REDACTED-2/oat/arm/base.odex (offset 0xab000)
08-14 07:58:20.787 1321 16843 W ActivityManager: Force finishing activity com.REDACTED.REDACTED/com.unity3d.player.UnityPlayerActivity
08-14 07:58:20.797 1321 16843 D ActivityManager: --zc to bg, ProcessRecord{fef975a 16524:com.REDACTED.REDACTED/u0a139} rx/tx = 115341 624574
08-14 07:58:20.807 1321 1386 W ActivityManager: Failed setting process group of 16524 to 1
08-14 07:58:20.877 1321 2828 I ActivityManager: Process com.REDACTED.REDACTED (pid 16524) has died is serviceb: false
...
I have not made modifications to how my video is played on Daydream versus how it is played on desktop, except that I changed the "Importer Version" to VideoClip instead of MovieTexture (which is not supported on Android). What am I missing that could cause a video to crash my game on Daydream?