- Home /
[Android] Crash on OutOfMemoryError "PushLocalFrame"
Hey there,
 The game I'm working on crashes with OutOfMemoryError "PushLocalFrame" when loading a certain scene on a Samsung Galaxy A5 (and other reported Samsung devices). The game is not particularly memory hungry but we even tried stripping out larger textures, but with no success.
 The game was exported to Android Studio with Unity 2019.4.16f1 LTS. Due to SDKs we are using, we cannot build on a later version of Unity, althought we've tried building without calling those SDK and they were ruled out from the potential causes.
 Here is the callstack showing the crash:
 04-30 17:22:35.384  7691  7938 W zygote64: Throwing OutOfMemoryError "PushLocalFrame"
 04-30 17:22:35.384  7691  7938 W zygote64: Throwing OutOfMemoryError "PushLocalFrame"
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023] Throwing new exception 'PushLocalFrame' with unexpected pending exception: java.lang.OutOfMemoryError: PushLocalFrame
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023]   at boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023]   at boolean com.unity3d.player.UnityPlayer.access$300(com.unity3d.player.UnityPlayer) ((null):-1)
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023]   at boolean com.unity3d.player.UnityPlayer$e$1.handleMessage(android.os.Message) ((null):-1)
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:101)
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023]   at void android.os.Looper.loop() (Looper.java:164)
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023]   at void com.unity3d.player.UnityPlayer$e.run() ((null):-1)
 04-30 17:22:35.385  7691  7938 F zygote64: thread.cc:2023] 
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:508] Runtime aborting...
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:508] 
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516] Throwing new exception 'PushLocalFrame' with unexpected pending exception: java.lang.OutOfMemoryError: PushLocalFrame
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516]   at boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516]   at boolean com.unity3d.player.UnityPlayer.access$300(com.unity3d.player.UnityPlayer) ((null):-1)
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516]   at boolean com.unity3d.player.UnityPlayer$e$1.handleMessage(android.os.Message) ((null):-1)
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:101)
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516]   at void android.os.Looper.loop() (Looper.java:164)
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516]   at void com.unity3d.player.UnityPlayer$e.run() ((null):-1)
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516] 
 04-30 17:22:35.385  7691  7938 F zygote64: runtime.cc:516] 
 04-30 17:22:35.390  7691  7938 E CRASH   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
 04-30 17:22:35.391  7691  7938 E CRASH   : Version '2019.4.1f1 (e6c045e14e4e)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
 04-30 17:22:35.391  7691  7938 E CRASH   : Build fingerprint: 'samsung/a5y17ltexx/a5y17lte:8.0.0/R16NW/A520FXXSFCTG8:user/release-keys'
 04-30 17:22:35.391  7691  7938 E CRASH   : Revision: '8'
 04-30 17:22:35.391  7691  7938 E CRASH   : ABI: 'arm64'
 04-30 17:22:35.391  7691  7938 E CRASH   : Timestamp: 2021-04-30 17:22:35+0200
 04-30 17:22:35.391  7691  7938 E CRASH   : pid: 7691, tid: 7938, name: UnityMain  >>> com.loltap.spiraldrop <<<
 04-30 17:22:35.391  7691  7938 E CRASH   : uid: 10260
 04-30 17:22:35.391  7691  7938 E CRASH   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
 04-30 17:22:35.391  7691  7938 E CRASH   :     x0  0000000000000000  x1  0000000000001f02  x2  0000000000000006  x3  0000000000000008
 04-30 17:22:35.391  7691  7938 E CRASH   :     x4  0000000000000000  x5  0000000000000000  x6  0000000000000000  x7  0080808080808080
 04-30 17:22:35.391  7691  7938 E CRASH   :     x8  0000000000000083  x9  5e48966aeef32172  x10 0000000000000000  x11 0000000000000001
 04-30 17:22:35.391  7691  7938 E CRASH   :     x12 ffffffffffffffff  x13 0000000000000008  x14 ffffffffffffffff  x15 0016f66544822806
 04-30 17:22:35.391  7691  7938 E CRASH   :     x16 0000007f0d9972f8  x17 0000007f0d938408  x18 00000000138dbc60  x19 0000000000001e0b
 04-30 17:22:35.391  7691  7938 E CRASH   :     x20 0000000000001f02  x21 0000007e7a92b180  x22 0000000000000000  x23 0000000000000245
 04-30 17:22:35.391  7691  7938 E CRASH   :     x24 0000000000000051  x25 0000007e7a878e80  x26 0000000000000244  x27 0000000000000043
 04-30 17:22:35.391  7691  7938 E CRASH   :     x28 0000007f0bdf0bb0  x29 0000007ee9648140
 04-30 17:22:35.391  7691  7938 E CRASH   :     sp  0000007ee9648100  lr  0000007f0d8eabd4  pc  0000007f0d938410
 04-30 17:22:35.391  7691  7938 E CRASH   : 
 04-30 17:22:35.391  7691  7938 E CRASH   : backtrace:
 04-30 17:22:35.391  7691  7938 E CRASH   :       #00 pc 000000000006b410  /system/lib64/libc.so (tgkill+8) (BuildId: cafe80c5d1de3e1b8ff95fe7ea83f0c6)
 04-30 17:22:35.391  7691  7938 E CRASH   :       #01 pc 000000000001dbd0  /system/lib64/libc.so (abort+88) (BuildId: cafe80c5d1de3e1b8ff95fe7ea83f0c6)
 04-30 17:22:35.391  7691  7938 E CRASH   :       #02 pc 00000000004376dc  /system/lib64/libart.so (art::Runtime::PreZygoteFork()) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.391  7691  7938 E CRASH   :       #03 pc 0000000000437dec  /system/lib64/libart.so (art::Runtime::Create(art::RuntimeArgumentMap&&)) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #04 pc 0000000000522a3c  /system/lib64/libart.so (android::base::LogMessage::~LogMessage()+900) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #05 pc 0000000000462c40  /system/lib64/libart.so (art::Thread::AssertNoPendingExceptionForNewException(char const*) const+1212) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #06 pc 0000000000459954  /system/lib64/libart.so (art::Thread::ThrowOutOfMemoryError(char const*)+392) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #07 pc 00000000003547b0  /system/lib64/libart.so (art::JNI::EnsureLocalCapacityInternal(art::ScopedObjectAccess&, int, char const*)+104) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #08 pc 0000000000314bb0  /system/lib64/libart.so (art::JNI::PushLocalFrame(_JNIEnv*, int)+608) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #09 pc 00000000000f4898  /system/lib64/libart.so (art::CheckJNI::PushLocalFrame(_JNIEnv*, int)+676) (BuildId: 2bd1b5ed064ba2f326b8679994044ed5)
 04-30 17:22:35.392  7691  7938 E CRASH   :       #10 pc 000000000084a6c0  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (BuildId: 5630528a8347d39886058ec7386db0968d51e39f)
 04-30 17:22:35.491  7691  8731 I GameAnalytics: Info/GameAnalytics: Event queue: No events to send
 04-30 17:22:35.509  7691  8731 I GameAnalytics: Info/GameAnalytics: Add DESIGN event: {eventId:LevelStart, value:0.0}
 04-30 17:22:35.598  7691  7938 E CRASH   : Tombstone written to: /storage/emulated/0/Android/data/com.loltap.spiraldrop/files/tombstone_00
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504] JNI DETECTED ERROR IN APPLICATION: JNI FindClass called with pending exception java.lang.OutOfMemoryError: PushLocalFrame
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at boolean com.unity3d.player.UnityPlayer.access$300(com.unity3d.player.UnityPlayer) ((null):-1)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at boolean com.unity3d.player.UnityPlayer$e$1.handleMessage(android.os.Message) ((null):-1)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:101)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at void android.os.Looper.loop() (Looper.java:164)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at void com.unity3d.player.UnityPlayer$e.run() ((null):-1)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504] 
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]     in call to FindClass
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]     from boolean com.unity3d.player.UnityPlayer.nativeRender()
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504] "UnityMain" prio=5 tid=33 Runnable
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   | group="" sCount=0 dsCount=0 flags=0 obj=0x13801f80 self=0x7ef97cda00
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   | sysTid=7938 nice=0 cgrp=default sched=0/0 handle=0x7ee964a4f0
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   | state=R schedstat=( 0 0 0 ) utm=492 stm=69 core=2 HZ=100
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   | stack=0x7ee9548000-0x7ee954a000 stackSize=1037KB
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   | held mutexes= "abort lock" "mutator lock"(shared held)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #00 pc 0000000000397510  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+212)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #01 pc 000000000045dce8  /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+348)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #02 pc 00000000002d58dc  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1040)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #03 pc 00000000002d5d5c  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #04 pc 00000000001089d8  /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+148)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #05 pc 0000000000108504  /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+536)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #06 pc 00000000001069a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+856)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #07 pc 00000000000eec20  /system/lib64/libart.so (_ZN3art8CheckJNI9FindClassEP7_JNIEnvPKc+644)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #08 pc 000000000031c680  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (???)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #09 pc 0000000000344398  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (???)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   native: #10 pc 000000000001323c  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/oat/arm64/base.odex (Java_com_unity3d_player_UnityPlayer_nativeRender__+124)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at com.unity3d.player.UnityPlayer.nativeRender(Native method)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at com.unity3d.player.UnityPlayer.access$300(unavailable:-1)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at com.unity3d.player.UnityPlayer$e$1.handleMessage(unavailable:-1)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at android.os.Handler.dispatchMessage(Handler.java:101)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at android.os.Looper.loop(Looper.java:164)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504]   at com.unity3d.player.UnityPlayer$e.run(unavailable:-1)
 04-30 17:22:35.644  7691  7938 F zygote64: java_vm_ext.cc:504] 
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] Runtime aborting --- recursively, so no thread-specific detail!
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #00 pc 0000000000397510  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+212)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #01 pc 0000000000437578  /system/lib64/libart.so (_ZN3art7Runtime5AbortEPKc+172)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #02 pc 0000000000437dec  /system/lib64/libart.so (_ZN3art7Runtime7AborterEPKc+24)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #03 pc 0000000000522a3c  /system/lib64/libart.so (_ZN7android4base10LogMessageD1Ev+900)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #04 pc 00000000002d5b80  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1716)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #05 pc 00000000002d5d5c  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #06 pc 00000000001089d8  /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+148)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #07 pc 0000000000108504  /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+536)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #08 pc 00000000001069a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+856)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #09 pc 00000000000eec20  /system/lib64/libart.so (_ZN3art8CheckJNI9FindClassEP7_JNIEnvPKc+644)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #10 pc 000000000031c680  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (???)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #11 pc 0000000000344398  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (???)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] #12 pc 000000000001323c  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/oat/arm64/base.odex (???)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:508] 
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516] JNI DETECTED ERROR IN APPLICATION: JNI FindClass called with pending exception java.lang.OutOfMemoryError: PushLocalFrame
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   at boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   at boolean com.unity3d.player.UnityPlayer.access$300(com.unity3d.player.UnityPlayer) ((null):-1)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   at boolean com.unity3d.player.UnityPlayer$e$1.handleMessage(android.os.Message) ((null):-1)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:101)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   at void android.os.Looper.loop() (Looper.java:164)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   at void com.unity3d.player.UnityPlayer$e.run() ((null):-1)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516] 
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]     in call to FindClass
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]     from boolean com.unity3d.player.UnityPlayer.nativeRender()
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516] "UnityMain" prio=5 tid=33 Runnable
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   | group="" sCount=0 dsCount=0 flags=0 obj=0x13801f80 self=0x7ef97cda00
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   | sysTid=7938 nice=0 cgrp=default sched=0/0 handle=0x7ee964a4f0
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   | state=R schedstat=( 0 0 0 ) utm=492 stm=69 core=2 HZ=100
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   | stack=0x7ee9548000-0x7ee954a000 stackSize=1037KB
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   | held mutexes= "abort lock" "mutator lock"(shared held)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #00 pc 0000000000397510  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+212)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #01 pc 000000000045dce8  /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+348)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #02 pc 00000000002d58dc  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1040)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #03 pc 00000000002d5d5c  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #04 pc 00000000001089d8  /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+148)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #05 pc 0000000000108504  /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+536)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #06 pc 00000000001069a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+856)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #07 pc 00000000000eec20  /system/lib64/libart.so (_ZN3art8CheckJNI9FindClassEP7_JNIEnvPKc+644)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #08 pc 000000000031c680  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (???)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #09 pc 0000000000344398  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/lib/arm64/libunity.so (???)
 04-30 17:22:35.683  7691  7938 F zygote64: runtime.cc:516]   native: #10 pc 000000000001323c  /data/app/com.loltap.spiraldrop-KACKC8u2-6QBjVvkm1Q2wQ==/oat/arm64/base.odex
 Any help would be much appreciated as the game is live and I don't know the extent of affected playerbase.
Answer by ReneSchleese · Sep 13, 2021 at 11:57 AM
In our case the crash was caused by the Cursor API. Removing the call fixed our issue. We were using Unity 2020.3.17f1. The crash appeared on Samsung Galaxy S8 with Android 8.
 Cursor.SetCursor()
You really saved the day for our team. We had serious struggle with our app rating decreasing because of the crashes on Android 7.0, 7.1 and 8.0. There was absolutely no meaningful info in log/crashlytics of what's really going on! Tried your solution and it miraculously worked. This is the first time I am writing words of gratitude on the forum. Crash appeared on (not entire list): Huawei HUWEI MediaPad T3 - Android 7.0 (SDK 24) Huawei HUAWEI MediaPad T3 10 - Android 7.0 (SDK 24) Huawei Honor 7A - Android 8.0 (SDK 26) HTC 10 - Android 7.0 (SDK 24) Samsung Galaxy S7 edge - Android 8.0 (SDK 26) Sony Xperia XA1 - Android 8.0 (SDK 26)
Again, thank you!
I noticed the error on my app with Unity 2020.3.20f1 (on Samsung Galaxy S7, Android 8). The app simply crashes on startup.
Google Pre-Launch Report and Firebase also report the error: "Abort message: 'thread.cc:2023] Throwing new exception 'PushLocalFrame' with unexpected pending exception: java.lang.OutOfMemoryError: PushLocalFrame'"
Updating to Unity 2020.3.22f1 did not help.
Since I don't use the cursor API in the code, I removed the default cursor image from the player settings, rebuilt the app for Android, and tried it: The app starts again!
Thanks for the tip with the cursor! To be on the safe side, I created a bug report with Unity. Since I create my app for Windows and Android, I now have to set/remove the cursor image before each build, which is quite annoying.
Thank you so much for me it was also the cursor image causing the crash
2 Force a heapdump when the out of memory happens. See Can I force generation of a JVM crash log file?. Then use the tools listed there to narrow down the memory leak: Tool for analyzing large Java heap dumps.
Your answer
 
 
             Follow this Question
Related Questions
Game crashes in some Android devices with Unity 4.6.1 9 Answers
How is the game's performance looking on Android? 0 Answers
Android tablet crashes depending on texture compression 0 Answers
What might cause an Android app to freeze 1 Answer
Android level doesn't want to work after Application.LoadLevel 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                