Search code examples
iosxcodecrash-reportsdebug-symbols

Why is my iOS crash report from a debug build only partially symbolicated?


I have a crash report from my app on my iPhone, and the stack in the report is unsymbolicated for my app's binary only. I'm not using an archive build to distribute to Test Flight or the App Store yet, so I just have a debug build.

Is there something I can do fully symbolicate my debug build's crash report?

Maybe I have a setting similar to strip debug symbols during copy setup wrong that's causing this problem? I only say that because someone mentioned it in another question, but it didn't seem to make a difference.

Here's the interesting part from the crash report:

Incident Identifier: 411B8299-C4B8-4748-B76B-8F24E479BBA4
CrashReporter Key:   3833a4b98976d8b0b8fcc5623a7dff4217fc4101
Hardware Model:      iPhone12,8
Process:             MyApp [27285]
Path:                /private/var/containers/Bundle/Application/3F19D333-751B-4CFE-B648-B2F6E04BD866/MyApp.app/MyApp
Identifier:          Something.MyApp
Version:             1 (1.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           Something.MyApp [5248]


Date/Time:           2021-06-28 18:20:49.0345 -0700
Launch Time:         2021-06-28 18:20:42.5327 -0700
OS Version:          iPhone OS 14.6 (18F72)
Release Type:        User
Baseband Version:    2.05.01
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x00000001c9832334 __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001e727da9c pthread_kill + 272
2   libsystem_c.dylib               0x00000001a4a4fb90 abort + 104
3   libsystem_c.dylib               0x00000001a4a4f024 err + 0
4   MyApp                           0x00000001021228d0 0x1020f8000 + 174288
5   MyApp                           0x0000000102122874 0x1020f8000 + 174196
6   MyApp                           0x0000000102122828 0x1020f8000 + 174120
7   MyApp                           0x0000000102122800 0x1020f8000 + 174080
8   MyApp                           0x0000000102121114 0x1020f8000 + 168212
9   MyApp                           0x00000001021180e0 0x1020f8000 + 131296
10  MyApp                           0x0000000102117010 0x1020f8000 + 126992
11  MyApp                           0x000000010212c5f8 0x1020f8000 + 214520
12  MyApp                           0x0000000102171174 0x1020f8000 + 495988
13  MyApp                           0x000000010212a05c 0x1020f8000 + 204892
14  MyApp                           0x00000001021689b0 0x1020f8000 + 461232
15  SpriteKit                       0x00000001d01df780 -[SKScene _update:] + 364
16  SpriteKit                       0x00000001d01bec50 -[SKRenderer _update:] + 844
17  SpriteKit                       0x00000001d01be8d0 -[SKRenderer updateAtTime:] + 108
18  MyApp                           0x0000000102103a9c 0x1020f8000 + 47772
19  MetalKit                        0x00000001ce5d6778 -[MTKView draw] + 144
20  MetalKit                        0x00000001ce5d2d14 -[MTKViewDisplayLinkTarget draw] + 40
21  QuartzCore                      0x000000019e9047b8 CA::Display::DisplayLink::dispatch_items+ 83896 (unsigned long long, unsigned long long, unsigned long long) + 672
22  QuartzCore                      0x000000019e9e37f4 display_timer_callback+ 997364 (__CFMachPort*, void*, long, void*) + 280
23  CoreFoundation                  0x000000019b5f6a5c __CFMachPortPerform + 176
24  CoreFoundation                  0x000000019b61c274 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
25  CoreFoundation                  0x000000019b61b5f4 __CFRunLoopDoSource1 + 596
26  CoreFoundation                  0x000000019b6151d8 __CFRunLoopRun + 2372
27  CoreFoundation                  0x000000019b614360 CFRunLoopRunSpecific + 600
28  GraphicsServices                0x00000001b2c52734 GSEventRunModal + 164
29  UIKitCore                       0x000000019e08f584 -[UIApplication _run] + 1072
30  UIKitCore                       0x000000019e094df4 UIApplicationMain + 168
31  MyApp                           0x0000000102168a44 0x1020f8000 + 461380
32  libdyld.dylib                   0x000000019b2d0cf8 start + 4

Thread 1:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 5:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 6 name:  com.apple.uikit.eventfetch-thread
Thread 6:
0   libsystem_kernel.dylib          0x00000001c980d4fc mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001c980c884 mach_msg + 76
2   CoreFoundation                  0x000000019b61aeb0 __CFRunLoopServiceMachPort + 372
3   CoreFoundation                  0x000000019b614d50 __CFRunLoopRun + 1212
4   CoreFoundation                  0x000000019b614360 CFRunLoopRunSpecific + 600
5   Foundation                      0x000000019c901fdc -[NSRunLoop+ 32732 (NSRunLoop) runMode:beforeDate:] + 232
6   Foundation                      0x000000019c901ea8 -[NSRunLoop+ 32424 (NSRunLoop) runUntilDate:] + 92
7   UIKitCore                       0x000000019e14412c -[UIEventFetcher threadMain] + 516
8   Foundation                      0x000000019ca7332c __NSThread__start__ + 864
9   libsystem_pthread.dylib         0x00000001e727cbfc _pthread_start + 320
10  libsystem_pthread.dylib         0x00000001e7285758 thread_start + 8

Thread 7:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000030   x7: 0x0000000000000000
    x8: 0x46025ab3c4edaa76   x9: 0x46025ab2c6bd92b6  x10: 0x0000000000000000  x11: 0x0000000000000037
   x12: 0x00000000ffffffff  x13: 0x0000000156bcafe0  x14: 0x0000000000000000  x15: 0x00000001fd88a6a8
   x16: 0x0000000000000148  x17: 0x00000001025038c0  x18: 0x0000000105a17622  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001025039a0  x22: 0x0000000102176a5e  x23: 0x000000014dd18000
   x24: 0x00000001f1799000  x25: 0x0000000000000000  x26: 0x0000000000000001  x27: 0x0000000283e0a200
   x28: 0x000000015681d600   fp: 0x000000016dd04ba0   lr: 0x00000001e727da9c
    sp: 0x000000016dd04b80   pc: 0x00000001c9832334 cpsr: 0x40000000
   esr: 0x56000080  Address size fault

Binary Images:
0x1020f8000 - 0x10217ffff MyApp arm64  <b2aa8f67eb433d298ff722f4a4d98040> /var/containers/Bundle/Application/3F19D333-751B-4CFE-B648-B2F6E04BD866/MyApp.app/MyApp
0x102428000 - 0x102433fff libobjc-trampolines.dylib arm64e  <26cb4bb90880358ba280192f8ed6d0ad> /usr/lib/libobjc-trampolines.dylib
...

Solution

  • I figured it out. I must have edited my build options at some point in the past, and I changed the Debug Information Format build option from DWARF with dSYM File to just DWARF for my debug build only. Once I rebuilt, all symbols were showing up.