Having a very consistent crash when running builds on the Quest Pro and Quest 2 devices using Unity 2022.3.8f1 with Oculus Integration SDK v56.
In a lot of cases the build will crash immediately on launch when loading into the scene. However I tracked down a very specific simple way to replicate it
- Make an empty scene (Other than the VR rig)
- add a 3D object into the scene behind where the player will be facing
- deploy the build
- Launch the app facing away from the object (It helps to look up with the headset)
- App should be working fine
- Turn around and look at the object
- observe crash
Following the information in this thread we were able to find a fix by changing the graphics API to Vulkan, however this is not recommended by Meta so another solution would be ideal, perhaps there is a specific setting we need to change although we are using the recommended setup from Meta
Here is the stack trace of the crash
2023/09/11 16:44:30.433 23164 23242 Error CRASH *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2023/09/11 16:44:30.433 23164 23242 Error CRASH Version '2022.3.8f1 (b5eafc012955)', Build type 'Development', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
2023/09/11 16:44:30.433 23164 23242 Error CRASH Build fingerprint: 'oculus/seacliff/seacliff:12/SQ3A.220605.009.A1/50065460051500330:user/release-keys'
2023/09/11 16:44:30.433 23164 23242 Error CRASH Revision: '0'
2023/09/11 16:44:30.433 23164 23242 Error CRASH ABI: 'arm64'
2023/09/11 16:44:30.434 23164 23242 Error CRASH Timestamp: 2023-09-11 16:44:30.433977156+1200
2023/09/11 16:44:30.434 23164 23242 Error CRASH pid: 23164, tid: 23242, name: Thread-3 >>> com.testGames.game <<<
2023/09/11 16:44:30.434 23164 23242 Error CRASH uid: 10142
2023/09/11 16:44:30.434 23164 23242 Error CRASH signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr --------
2023/09/11 16:44:30.434 23164 23242 Error CRASH Cause: null pointer dereference
2023/09/11 16:44:30.434 23164 23242 Error CRASH x0 0000000000000000 x1 0000000000000000 x2 0000000000000010 x3 0000000000009146
2023/09/11 16:44:30.434 23164 23242 Error CRASH x4 0000000000000010 x5 000000000000003b x6 000000714f5fa2f0 x7 7f7f7f7f7f7f7f7f
2023/09/11 16:44:30.434 23164 23242 Error CRASH x8 0000000000000006 x9 0000000000000000 x10 0000000000001cf1 x11 0000000000000073
2023/09/11 16:44:30.434 23164 23242 Error CRASH x12 0000000000000502 x13 000000728d0399cc x14 b400007150302ef0 x15 0000000000000000
2023/09/11 16:44:30.434 23164 23242 Error CRASH x16 000000723bbcfc70 x17 00000073447010f0 x18 000000714e510000 x19 00000071f1d98760
2023/09/11 16:44:30.434 23164 23242 Error CRASH x20 0000000000000000 x21 0000000000000002 x22 0000000000000010 x23 0000000000000000
2023/09/11 16:44:30.434 23164 23242 Error CRASH x24 0000000000008f37 x25 000000723a80b35c x26 000000723bcb4000 x27 00000071f1d98760
2023/09/11 16:44:30.434 23164 23242 Error CRASH x28 0000007200217b00 x29 000000717026b538
2023/09/11 16:44:30.434 23164 23242 Error CRASH lr 000000723b43d424 sp 000000714f5fb390 pc 0000007344701144 pst 0000000060001000
2023/09/11 16:44:30.434 23164 23242 Error CRASH backtrace:
2023/09/11 16:44:30.434 23164 23242 Error CRASH #00 pc 0000000000085144 /apex/com.android.runtime/lib64/bionic/libc.so (memset+84) (BuildId: e88a74b00e45d46f005121670b8c66d7)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #01 pc 0000000000e18420 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (ApiGLES::ClearBufferSubData(unsigned int, gl::BufferTarget, long, long)+164) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #02 pc 0000000000df3e98 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (BufferManagerGLES::AcquireBuffer(unsigned long, DataBufferGLES::BufferUsage, GfxBuffer*, bool)+572) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #03 pc 0000000000e0840c /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (GfxDeviceGLES::UpdateComputeConstantBuffers(unsigned int, ConstantBufferHandle*, unsigned int, unsigned long, unsigned char const*, unsigned int const*, unsigned int const*, int const*)+312) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #04 pc 0000000000ff6520 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)+18760) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #05 pc 0000000000ff1b70 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)+84) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #06 pc 0000000000ff1b10 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (GfxDeviceWorker::Run()+140) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #07 pc 0000000000ff1894 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (GfxDeviceWorker::RunGfxDeviceWorker(void*)+4) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #08 pc 000000000079ad94 /data/app/~~_ej2-ADLLB10KJe3sgLzTg==/com.testGames.game-U6YGuvSRaLafmPQvbvIQaA==/lib/arm64/libunity.so (Thread::RunThreadWrapper(void*)+1048) (BuildId: 3711348e844b99b1)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #09 pc 00000000000dddec /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+132) (BuildId: e88a74b00e45d46f005121670b8c66d7)
2023/09/11 16:44:30.434 23164 23242 Error CRASH #10 pc 000000000008a02c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: e88a74b00e45d46f005121670b8c66d7)
2023/09/11 16:44:30.687 23164 23242 Error CRASH Forwarding signal 11
2023/09/11 16:44:30.687 23164 23242 Fatal libc Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 23242 (Thread-3), pid 23164 (s.game)