cancel
Showing results for 
Search instead for 
Did you mean: 

Unity App Crashing on Quest

tylercroach
Protege

After building our metaverse application and not having tested in a while, it seems to not be running and instead crashing on each launch. Oculus firmware 50 seems to be the cause of this. We are using 2021.3 LTS and IL2CPP with Arm64. The error is a Sigabrt Signal 6 Code -1 Fatal Exception Java Lang Error. The app seems to be working with Mono Arm7 but only when it doesn't have more than like 4 scenes. I hear that firmware 50 may have Android 12 and was released for early access users. We've tried everything in the book to fix this, and apparently the performance isn't going to be the same either even if we do get it to run. We are going to update to Unity 2022 to see if this fixes anything but we've been spinning our wheels like crazy. Please let me know if you have any ideas as to why it is suddenly crashing without explanation.

1 ACCEPTED SOLUTION

Accepted Solutions

We have fixed it by reverting back to an older version and readding our changes to it. I narrowed it down to being most likely a library that I added that was conflicting with Android 12. I'm still not sure which one it was but no crashes and performance is good too. Target SDK is 32 minimum is 29 for Quest 1 users and using IL2CPP and Arm64 too. OpenXR 1.7.0 and Oculus XR Plugin 3.3.0. Oculus plugin 1.82.0. XR Plugin Management 4.2.0 and XR Core Utilities 2.0.1. Unity 2021.3.22f1. I would check your libraries as apparently it has to do with either libraries or permissions on Android 12. Also worse comes to worse try using mono or arm7. Good luck!

View solution in original post

10 REPLIES 10

likeaguest_dev
Explorer

We are experiencing a similar native crash for our game running on Unity 2019.4.12f1. All users on v51 and up are experiencing instant crashes. There was no update on our side. Unity upgrade did not fix it for us.

java.lang.Error: FATAL EXCEPTION [UnityMain]
Unity version     : 2019.4.12f1
Device model      : Oculus Quest
Device fingerprint: oculus/hollywood/hollywood:12/SQ3A.220605.009.A1/50327160091800150:user/release-keys
Caused by: java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Version '2019.4.12f1 (225e826a680e)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
Build fingerprint: 'oculus/hollywood/hollywood:12/SQ3A.220605.009.A1/50327160091800150:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2023-04-25 16:04:08+1200
pid: 25645, tid: 25667, name: UnityMain  >>> com.GAMENAME.REPLACED <<<
uid: 10106
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x7a1ba96860
    x0  0000007a1b896820  x1  b400007988631010  x2  0000000000000006  x3  0000007a1b4ed161
    x4  000000000000028e  x5  b40000798862bb90  x6  b4000079ffffffff  x7  0000000000000000
    x8  0000007a1ba96820  x9  0000000000000018  x10 b4000079ffffffff  x11 0000000000000000
    x12 b4000079ffffffff  x13 0000000000000000  x14 0000000000000008  x15 0000000000000002
    x16 0000007a1b861a78  x17 0000007b40cd5360  x18 0000000000000001  x19 0000007a1b8a3080
    x20 b400007988631010  x21 0000000000000006  x22 0000000000000006  x23 0000007a1b893ec6
    x24 0000000000000018  x25 0000000000003234  x26 0000000000003238  x27 ffffff6100000000
    x28 0000000000002a10  x29 0000007a1a264980
    sp  0000007a1a264370  lr  0000007a1a67998c  pc  0000007a1a673d78

 We also did not manage to fix it by increasing the android version.

We're getting the same native crash as @likeaguest_dev here, Unity version 2021.3.18f1 users on v51 or v50 both experiencing crashes all of a sudden today. Trying to find what exactly is causing the issue

We have fixed it by reverting back to an older version and readding our changes to it. I narrowed it down to being most likely a library that I added that was conflicting with Android 12. I'm still not sure which one it was but no crashes and performance is good too. Target SDK is 32 minimum is 29 for Quest 1 users and using IL2CPP and Arm64 too. OpenXR 1.7.0 and Oculus XR Plugin 3.3.0. Oculus plugin 1.82.0. XR Plugin Management 4.2.0 and XR Core Utilities 2.0.1. Unity 2021.3.22f1. I would check your libraries as apparently it has to do with either libraries or permissions on Android 12. Also worse comes to worse try using mono or arm7. Good luck!

We also added a permissions request in awake in first scene that wasn't in our manifest which would cause the app to refresh since people are saying there's some kind of UI conflict with Android 12 too and to try doing that even though you don't need that permission, in our case we did location services. Another thing you could try is switching from Oculus to OpenXR or using legacy Oculus plugin or upgrading your packages/oculus integration. Apparently Oculus is saying that they changed the name of OBBs to be main.packagename.versioncode but only main.versioncode.packagename works which was what it was before if you are using those.

If you're using OpenXR turn off Meta XR Feature and make sure Meta Quest is checked in OpenXR settings under XR Plugin Management settings. Also try switching between Vulkan and OpenGL3, we use OpenGL3 as it has better performance for us.

likeaguest_dev
Explorer

So, we have found the following:

https://forum.unity.com/threads/android-11-arm64-native-heap-allocator-issues.1047170/

Its most likely this issue. We upgraded to one of the following versions:

  • 2018.4.30
  • 2019.4.15
  • 2020.1.14
  • 2020.2.0b12

Then it worked for us. Using OpenGL3.

alkashebat
Protege

My game is crashing randomly or on start. Is this post about the same problem? Im very confused lol  

https://communityforums.atmeta.com/t5/Unity-VR-Development/1-Game-says-to-set-Oculus-App-Id-when-its...


alkashebat_2-1683898614829.png

 

alkashebat_1-1683898472552.png

 

We resolved this by reverting our build to an earlier version. I would try using mono to see if that works as it seems like you're getting an IL2CPP error...I believe we were getting a java lang error due to some kind of library that was unable to be loaded or something along those lines. You could also try compiling for Android SDK target of 32 instead of 29 as the quest uses android 12 now. That or change Unity versions to 2022 or 2020. We are still having an issue with the latest update though when it comes to loading higher memory scenes, apparently android 12 takes up more RAM on quest 2 so our scene only works on quest pro now. Quest 1 and 2 result in a freeze and used to result in a crash with a low memory popup until we optimized it further, this is when loading the scene but loads the other scenes fine. We are updating Oculus Integration to 53 now, let me know if you have any ideas on things to try.

My players were being kicked randomly. My game is multiplayer and i reimported the multiplayer package and no one is getting randomly kicked. But, some players still cant load in. I really think its either Unity or Oculus Firmware. I told my players to clear app data and reinstall the game, and for some people its still working. I have Minimum API level 31 and target is "highest installed". That might help. Also try to nod load your RAM with baked lighting since AFAIK it takes a lot of RAM.