Xcode 7.3 did not automatically symbolicate a crash report when I dragged it in to the device logs. I received the crash report from a user by email and am trying to investigate the result of the crash for the app.
I have the .crash file, .app file, and .dSYM file and have ensured that they are all of the same UDID. I used the terminal and symbolicatecrash to manually symbolicate the crash report.
The user shared with me at what point the app is crashing for them, and it is not during the app's initial load. The symbolicated crash report shows more than it did before I symbolicated it, but still does not offer me a helpful stack trace that I can use to figure out which file and which call in the code had been running when the crash took place.
Symbolicated report:
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x0000000180f04158 objc_release + 8
1 UIKit 0x0000000186d1efac -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 800
2 UIKit 0x0000000186d1f0a8 -[UITableView _createPreparedCellForGlobalRow:willDisplay:] + 80
3 UIKit 0x0000000186d0e1a8 -[UITableView _updateVisibleCellsNow:isRecursive:] + 2360
4 UIKit 0x0000000186d23b74 -[UITableView _performWithCachedTraitCollection:] + 104
5 UIKit 0x0000000186ab47ac -[UITableView layoutSubviews] + 176
6 UIKit 0x00000001869c40e4 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 656
7 QuartzCore 0x000000018436aa28 -[CALayer layoutSublayers] + 148
8 QuartzCore 0x0000000184365634 CA::Layer::layout_if_needed(CA::Transaction*) + 292
9 QuartzCore 0x00000001843654f4 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 32
10 QuartzCore 0x0000000184364b24 CA::Context::commit_transaction(CA::Transaction*) + 252
11 QuartzCore 0x000000018436486c CA::Transaction::commit() + 512
12 UIKit 0x00000001869c6ef4 _UIApplicationHandleEventQueue + 4980
13 CoreFoundation 0x000000018183d124 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
14 CoreFoundation 0x000000018183cbb8 __CFRunLoopDoSources0 + 540
15 CoreFoundation 0x000000018183a8b8 __CFRunLoopRun + 724
16 CoreFoundation 0x0000000181764d10 CFRunLoopRunSpecific + 384
17 GraphicsServices 0x000000018304c088 GSEventRunModal + 180
18 UIKit 0x0000000186a31f70 UIApplicationMain + 204
19 4GradeWordsiPhone 0x000000010009e000 main (main.m:14)
20 libdyld.dylib 0x00000001813028b8 start + 4Is there anywhere else I should be looking or have I done anything wrong?
Before symbolicating, the report offered even less information:
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x0000000180f04158 0x180ee4000 + 131416
1 UIKit 0x0000000186d1efac 0x1869b4000 + 3583916
2 UIKit 0x0000000186d1f0a8 0x1869b4000 + 3584168
3 UIKit 0x0000000186d0e1a8 0x1869b4000 + 3514792
4 UIKit 0x0000000186d23b74 0x1869b4000 + 3603316
5 UIKit 0x0000000186ab47ac 0x1869b4000 + 1050540
6 UIKit 0x00000001869c40e4 0x1869b4000 + 65764
7 QuartzCore 0x000000018436aa28 0x18435c000 + 59944
8 QuartzCore 0x0000000184365634 0x18435c000 + 38452
9 QuartzCore 0x00000001843654f4 0x18435c000 + 38132
10 QuartzCore 0x0000000184364b24 0x18435c000 + 35620
11 QuartzCore 0x000000018436486c 0x18435c000 + 34924
12 UIKit 0x00000001869c6ef4 0x1869b4000 + 77556
13 CoreFoundation 0x000000018183d124 0x18175c000 + 921892
14 CoreFoundation 0x000000018183cbb8 0x18175c000 + 920504
15 CoreFoundation 0x000000018183a8b8 0x18175c000 + 911544
16 CoreFoundation 0x0000000181764d10 0x18175c000 + 36112
17 GraphicsServices 0x000000018304c088 0x183040000 + 49288
18 UIKit 0x0000000186a31f70 0x1869b4000 + 515952
19 4GradeWordsiPhone 0x00000001000e2000 0x1000dc000 + 24576
20 libdyld.dylib 0x00000001813028b8 0x181300000 + 10424
Crashes like this are usually the result of memory management problems. Some other part of your app (or the OS frameworks) has corrupted the state of memory such that it triggers a crash in some other, unrelated part of your app (or the OS frameworks). A common cause of these is over-releasing an object, but that’s certainly not the only way this can happen.
There’s two general strategies for debugging this:
If you can reproduce the problem, you can look at the state of the crashed process for hints as to what’s gone wrong. Alas, this won’t help in your case.
You can run your app with the usual memory debugging tools to see if they flush out any problems. If they do, fix them, then re-test and hope.
In this case the “usual memory debugging tools” include:
I also recommend WWDC 2013 Session 410 Fixing Memory Issues, which is a great summary of the basics here.
Good hunting!
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"