Fully symbolicate crash log received from App Review

A new app I submitted to review was rejected due to a crash.

I cannot reproduce the crash, even running it on exact the same device model used by App Review.

So I need to symbolicate the ips crash log they provided me.

Using MacSymbolicate and the archive located using Xcode Organizer I was able to partially symbolicate the crash log.

To fully symbolicate the crash log, however, according to MacSymbolicate, I would need two more symbol files, which can't be located, because they relate to system frameworks (SwiftData and _SwiftData_SwiftUI).

I have tried to follow the instructions provided on https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report but I had no success.

It seems to me that the instructions contained there for symbolicating using Xcode do not apply for crash logs downloaded from appstoreconnect after an App Review rejection. Also, the instructions seem to be out of date, e.g. "To symbolicate in Xcode, click the Device Logs button in the Devices and Simulators window.": This button was replaced by "Open Recent Logs", which opens what seems to be a different window (according to some online research).

Is it possible to fully symbolicate such an ips file downloaded from App Review team?

If so, how can this be achieved?

Thanks

This is how the partially symbolicated crash log looks like:

Hardware Model:      iPad13,16
...
AppStoreTools:       16C5031b
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
...
OS Version:          iPhone OS 18.2.1 (22C161)
Release Type:        User
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000018c100e2c
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [6226]

Triggered by Thread:  0

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libswiftCore.dylib            	       0x18c100e2c _assertionFailure(_:_:file:line:flags:) + 264
1   SwiftData                     	       0x24fa6f3b4 0x24fa4a000 + 152500
...
14  SwiftData                     	       0x24fa89700 0x24fa4a000 + 259840
15  _SwiftData_SwiftUI            	       0x250cd34e4 0x250cce000 + 21732
16  _SwiftData_SwiftUI            	       0x250cd1364 0x250cce000 + 13156
17  ***                       	       0x10451f7ac closure #1 in closure #2 in closure #1 in PaymentsMonthView.body.getter (in ***) (PaymentsMonthView.swift:119) + 1324972
18  ***                       	       0x10451ea14 closure #1 in PaymentsMonthView.body.getter (in ***) (PaymentsMonthView.swift:99) + 1321492
19  SwiftUICore                   	       0x24fd5d304 specialized ViewBodyAccessor.updateBody(of:changed:) + 1240
20  SwiftUICore                   	       0x24fd5cd4c closure #1 in DynamicBody.updateValue() + 600
21  SwiftUICore                   	       0x24fd5c008 DynamicBody.updateValue() + 928
...
...
Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x000000011128b208   x1: 0x0000000200000003   x2: 0x0000000000000001   x3: 0x00000001130be744
    x4: 0xfffffffffe1cd413   x5: 0x0000000000000013   x6: 0x0000000000000020   x7: 0x00000000000007fc
    x8: 0xfffffffe00000000   x9: 0x0000000200000003  x10: 0x0000000000000003  x11: 0x0000000000000000
   x12: 0x00180080004019e0  x13: 0x00100000004017fc  x14: 0x00000001046d23e0  x15: 0x00000000000001e0
   x16: 0x952d0001130bde00  x17: 0x00000000020007fc  x18: 0x0000000000000000  x19: 0x000000024fb661e0
   x20: 0x000000011128b200  x21: 0x0000000000000000  x22: 0x000000000000000b  x23: 0x000000000000001d
   x24: 0x0000000000000040  x25: 0x000000024fb64790  x26: 0xf000000000000977  x27: 0x0000000000000000
   x28: 0x000000024fb64750   fp: 0x000000016ba188f0   lr: 0x000000018c100e2c
    sp: 0x000000016ba18820   pc: 0x000000018c100e2c cpsr: 0x60001000
   far: 0x0000000000000000  esr: 0xf2000001 (Breakpoint) brk 1

Binary Images:
       0x1043dc000 -        0x104633fff Locador arm64  <78fc8961d731321ba0c8f9bb051109c5> /private/var/containers/Bundle/Application/FE1C10C5-49C1-4022-860A-6C3515E2F8BB/Locador.app/Locador
       0x1047fc000 -        0x104807fff libobjc-trampolines.dylib arm64e  <be05652226b13a508ad193ac99fcdc9c> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
       0x18c0c9000 -        0x18c66afff libswiftCore.dylib arm64e  <e9b1dc6b7fef3bbbb083f4e8faaa53df> /usr/lib/swift/libswiftCore.dylib
       0x24fa4a000 -        0x24fb88ff7 SwiftData arm64e  <90275b26954b349996ff44ada39f0358> /System/Library/Frameworks/SwiftData.framework/SwiftData
       0x250cce000 -        0x250cebff8 _SwiftData_SwiftUI arm64e  <d250fe30854c3f1c85fc8a89dec5d484> /System/Library/Frameworks/_SwiftData_SwiftUI.framework/_SwiftData_SwiftUI
       0x24fcf8000 -        0x2508d4fff SwiftUICore arm64e  <647b91f1620d3741bd708f9f26b5674b> /System/Library/Frameworks/SwiftUICore.framework/SwiftUICore
       0x1ba831000 -        0x1ba874fff AttributeGraph arm64e  <5eeff865ac123665a9dba9d612eb0e9f> /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
       0x19220e000 -        0x1934d0fff SwiftUI arm64e  <0b283f5831ae385f9c8ff128fd0e30b8> /System/Library/Frameworks/SwiftUI.framework/SwiftUI
       0x1902f8000 -        0x19220dfff UIKitCore arm64e  <f80c6ee450ca346f90ebbb3da9817503> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
       0x18dadc000 -        0x18e01ffff CoreFoundation arm64e  <6a60be13e6573beca9acba239ae29862> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
       0x1dacec000 -        0x1dacf4fff GraphicsServices arm64e  <f4e7a885f4913721862dc57403f4d821> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
       0x1b3d31000 -        0x1b3db413f dyld arm64e  <4eb7459fe23738ce82403f3e2e1ce5ab> /usr/lib/dyld
               0x0 - 0xffffffffffffffff ??? unknown-arch  <00000000000000000000000000000000> ???
       0x1df105000 -        0x1df13efe3 libsystem_kernel.dylib arm64e  <e3965df1a3a3374a94eaf86739c5cc8e> /usr/lib/system/libsystem_kernel.dylib
       0x18c6e1000 -        0x18d411fff Foundation arm64e  <7274dde368d634a08e677726e1265e80> /System/Library/Frameworks/Foundation.framework/Foundation
       0x2185fc000 -        0x218608ff3 libsystem_pthread.dylib arm64e  <b2fe0dfa67de3d7282676c42073e0e8d> /usr/lib/system/libsystem_pthread.dylib
       0x1958ce000 -        0x19594dffb libsystem_c.dylib arm64e  <8d425c7257c93e54a1e1e243cbdfc446> /usr/lib/system/libsystem_c.dylib

EOF

Thank you for the post. The crash appears to be insights into SwiftData. It seems that there may be an issue related to inserting and deleting data in your model. Could you please provide the steps to reproduce the crash? Any chance to post your SwiftData model as well as provide the operations?

Quinn has a comprehensive post on how to post a crash report, including sections for symbolizing the crash. This information may be helpful. You can find it here: https://developer.apple.com/forums/thread/688669

However, I recommend following the steps that a new user would take to reproduce the crash. This will help you identify the issue and potentially catch it on Xcode. Additionally, I suggest enhancing the logging in your SwiftData layer and model to provide more detailed information about why the crash occurs.

Albert Pascual
  Worldwide Developer Relations.

Many thanks for your reply, Albert. My question however was not about finding the cause for the this specific crash but instead how to fully symbolicate an ips crash report received from the App Review Team.

Quinn's post links to the same Apple page about symbolication that I mentioned in my original post (and that is provided by the App Review Team in their notification about the rejection due to the crash) that seems to be outdated and not fully relevant for crash reportes received from the App Review Team.

Thanks.

The information in that article is still accurate — pay attention to the section titled Acquire device symbol information. With that said, I can see the SwiftUI symbols are visible, so that means you have symbols from a matching device, so you're all good there. What may be happening here is that symbols for SwiftData are not available from the device, and if I'm correct about that, that isn't something you can resolve for yourself in this circumstance. Would you mind opening a bug report with your complete crash report, as well as the contents of ~/Library/Xcode/iOS DeviceSupport/Your-iOS-18-2-1-device/ so I can see if my theory is correct? Please post the FB number here so I can follow-up on it.

— Ed Ford,  DTS Engineer

Fully symbolicate crash log received from App Review
 
 
Q