My latest mobile game update was promptly rejected by the iOS App Review Team for crashing after they pressed the "start" button to load the game scene from the main menu scene. Without providing a crash log, they told me to go reproduce the crash myself and then identify and fix the issue (lol yeah, sure thing buddy). I was unable to reproduce this issue so I spammed their inbox for three days and they finally provided me with a crash log. I'm unable to symbolicate the crash log in Xcode because I'm running MacOS on a virtual machine, which is unable to connect to a device (I refuse to buy a Mac just so I can publish free mobile games), so I've found myself at quite the dead end. I've attached the full crash log below. If anybody can help me understand what could be causing the crash, I'd greatly appreciate it. The crash is on Thread 0. I removed a lot of details from the log to fit it in the post so I can provide more information if needed.
Incident Identifier: E1CC2B12-75DA-4704-A9BA-9923B4EE44A3
CrashReporter Key: d5a46eb6fe6765b9893f0126d9ae455c5b11cea1
Hardware Model: xxx
Process: AppName [4775]
Path: /private/var/containers/Bundle/Application/8C49D650-D44B-40CA-9071-6EE143554D36/AppName.app/AppName
Identifier: com.Company-Name.AppName
Version: 1 (1.0.8)
AppStoreTools: 12E262
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.Company-Name.AppName [1637]
Date/Time: 2021-05-06 15:53:25.8187 +0100
Launch Time: 2021-05-06 15:53:17.5422 +0100
OS Version: iPhone OS 14.5.1 (18E212)
Release Type: User
Baseband Version: n/a
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Region Info: 0 is not in any region. Bytes before following region: 4376707072
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 104df4000-104df8000 [ 16K] r-x/r-x SM=COW ...app/AppName
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_platform.dylib 0x00000001c993d128 0x1c9936000 + 28968
1 UnityFramework 0x0000000105747228 0x105098000 + 7008808
2 UnityFramework 0x00000001057530e8 0x105098000 + 7057640
3 UnityFramework 0x000000010542fe74 0x105098000 + 3767924
4 UnityFramework 0x0000000105710c10 0x105098000 + 6786064
5 UnityFramework 0x000000010571226c 0x105098000 + 6791788
6 UnityFramework 0x00000001057123b8 0x105098000 + 6792120
7 UnityFramework 0x000000010557f470 0x105098000 + 5141616
8 UnityFramework 0x000000010556f4b8 0x105098000 + 5076152
9 UnityFramework 0x0000000105461350 0x105098000 + 3969872
10 UnityFramework 0x00000001054621cc 0x105098000 + 3973580
11 UnityFramework 0x0000000105463438 0x105098000 + 3978296
12 UnityFramework 0x0000000105463ad8 0x105098000 + 3979992
13 UnityFramework 0x00000001054562a4 0x105098000 + 3924644
14 UnityFramework 0x00000001054562e4 0x105098000 + 3924708
15 UnityFramework 0x00000001054565ac 0x105098000 + 3925420
16 UnityFramework 0x000000010578cecc 0x105098000 + 7294668
17 UnityFramework 0x00000001050b2290 0x105098000 + 107152
18 UnityFramework 0x00000001050b21f8 0x105098000 + 107000
19 QuartzCore 0x00000001851f98e4 0x1851e6000 + 80100
20 IOKit 0x000000018c6ba0f8 0x18c6b3000 + 28920
21 CoreFoundation 0x00000001820953dc 0x18201e000 + 488412
22 CoreFoundation 0x00000001820b8fc0 0x18201e000 + 634816
23 CoreFoundation 0x00000001820b83c4 0x18201e000 + 631748
24 CoreFoundation 0x00000001820b2538 0x18201e000 + 607544
25 CoreFoundation 0x00000001820b16a8 0x18201e000 + 603816
26 GraphicsServices 0x0000000198761570 0x19875e000 + 13680
27 UIKitCore 0x00000001849cf370 0x183ea0000 + 11727728
28 UIKitCore 0x00000001849d48ec 0x183ea0000 + 11749612
29 UnityFramework 0x00000001050b1cc8 0x105098000 + 105672
30 AppName 0x0000000104dfbe1c 0x104df4000 + 32284
31 libdyld.dylib 0x0000000181d90140 0x181d8f000 + 4416
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x00000002a0000060 x2: 0x0000000025bc53e0 x3: 0x0000000000000020
x4: 0x0000000000000000 x5: 0x0000000000000020 x6: 0x0000000000000015 x7: 0x0000000000000000
x8: 0xbf800000bde131b9 x9: 0x3f586c393f7178c0 x10: 0xb4000000b4000000 x11: 0xbe39a80dbcc13b57
x12: 0xbe3db1abbca0ee69 x13: 0x3e8a242ebd91359d x14: 0x3ea8e51ebf679701 x15: 0xbeaaa529bf6fb740
x16: 0x00000001c993d0e0 x17: 0x0000000000000001 x18: 0x0000000000000000 x19: 0x0000000147b0e2e0
x20: 0x00000002a0000020 x21: 0x0000000025bc5400 x22: 0x0000000000000000 x23: 0x000000014654f790
x24: 0x0000000147b0e2e0 x25: 0x00000001456e4040 x26: 0x0000000000000000 x27: 0x000000014654f790
x28: 0x0000000000000000 fp: 0x000000016b0090a0 lr: 0x0000000105747228
sp: 0x000000016b009040 pc: 0x00000001c993d128 cpsr: 0x20000000
esr: 0x56000080 Address size fault
You could try to use the
atos
command to symbolicate address. For example:-l
option is followed by the base address of UnityFramework image, and next is stack addresses. Then you can see the symbols of functions call stack, find out where call the crash functions. These also apply to CoreFoundation, UIKitCore.