I'm seeing a random crash on ios device for my app and after looking at the symbolicated crash log, the root cause turns out to be my app did not respond within the window where ios watchdog expects the app to.
A related reading:
https://developer.apple.com/library/ios/qa/qa1693/_index.html
Crash log:
Exception Type: 00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread: 0
Application Specific Information:
com.myapp failed to exit in time
Elapsed total CPU time (seconds): 4.640 (user 4.640, system 0.000), 33% CPU
Elapsed application CPU time (seconds): 0.592, 4% CPU
Thread 0:
0 libsystem_kernel.dylib 0x3a525f38 0x3a513000 + 77624
1 libsystem_pthread.dylib 0x3a58e260 0x3a58c000 + 8800
2 libsystem_pthread.dylib 0x3a58e004 0x3a58c000 + 8196
3 myapp 0x0174cd7e il2cpp::os::posix::PosixWaitObject::Wait(unsigned int, bool) (PosixWaitObject.cpp:156)
4 myapp 0x01749150 il2cpp::os::Thread::Join(unsigned int) (Thread.cpp:111)
5 myapp 0x0176524e il2cpp::vm::Thread::KillAllBackgroundThreadsAndWaitForForegroundThreads() (Thread.cpp:201)
6 myapp 0x01761694 il2cpp::vm::Runtime::Shutdown() (Runtime.cpp:248)
7 myapp 0x010a950e PlayerCleanup(bool) (Player.cpp:974)
8 myapp 0x012b24c2 UnityCleanup (LibEntryPoint.mm:236)
9 myapp 0x00107af6 -[UnityAppController applicationWillTerminate:] (UnityAppController.mm:299)
10 UIKit 0x3208f888 0x31ffd000 + 600200
11 UIKit 0x3208cc98 0x31ffd000 + 588952
12 UIKit 0x3200dadc 0x31ffd000 + 68316
13 UIKit 0x3200d71c 0x31ffd000 + 67356
14 UIKit 0x32072b38 0x31ffd000 + 482104
15 GraphicsServices 0x3449e70a 0x34495000 + 38666
16 GraphicsServices 0x3449e2f2 0x34495000 + 37618
17 CoreFoundation 0x2f8609dc 0x2f7c2000 + 649692
18 CoreFoundation 0x2f860976 0x2f7c2000 + 649590
19 CoreFoundation 0x2f85f14a 0x2f7c2000 + 643402
20 CoreFoundation 0x2f7c9c22 0x2f7c2000 + 31778
21 CoreFoundation 0x2f7c9a06 0x2f7c2000 + 31238
22 GraphicsServices 0x3449d27e 0x34495000 + 33406
23 UIKit 0x3206d044 0x31ffd000 + 458820
24 myapp 0x000ef4d6 main (main.mm:32)
25 libdyld.dylib 0x3a46fab4 0x3a46e000 + 6836
seems like il2cpp is shutting down its vm and one of the background thread is still hanging(possibly waiting for a networking response) , and this somehow blocks the main thread.
has anyone seen similar issue before and if so, is there anyway to get around this?
Note: this issue does not happen often, occasionally happens when internet connectivity is intermittent.
↧