Xcode symbolication error


I have a small app made with SpriteKit and i receive EXC_RESOURCE error all the time and i really don't know. I want to see crash log , but Xcode doesn't symbolicate correct.

I need to see Thread 0 , but it is the only one who isn't symbolicate.

Exception Type:  EXC_RESOURCE
Exception Subtype: WAKEUPS
Exception Message: (Limit 150/sec) Observed 379/sec over 300 secs
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Attributed:
0   libobjc.A.dylib                 0x33ef1a54 0x33ecf000 + 141908
1   libobjc.A.dylib                 0x33ed4a24 0x33ecf000 + 23076
2   CoreFoundation                  0x2661beec 0x26615000 + 28396
3   CoreFoundation                  0x266b655e 0x26615000 + 660830
4   CoreFoundation                  0x266b67b4 0x26615000 + 661428
5   UIKit                           0x29e6adec 0x29bcd000 + 2743788
6   UIKit                           0x29c106a2 0x29bcd000 + 276130
7   UIKit                           0x29e4ce8a 0x29bcd000 + 2621066
8   UIKit                           0x29bdb3d4 0x29bcd000 + 58324
9   CoreFoundation                  0x266e1d54 0x26615000 + 838996
10  CoreFoundation                  0x266e1162 0x26615000 + 835938
11  CoreFoundation                  0x266df7c8 0x26615000 + 829384
12  CoreFoundation                  0x2662d3bc 0x26615000 + 99260
13  CoreFoundation                  0x2662d1ce 0x26615000 + 98766
14  GraphicsServices                0x2da2b0a4 0x2da22000 + 37028
15  UIKit                           0x29c3b7ac 0x29bcd000 + 452524
16  Annoying Bird                   0x00071f5c 0x54000 + 122716
17  libdyld.dylib                   0x34455aac 0x34454000 + 6828

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x345082a0 kevent64 + 24
1   libdispatch.dylib               0x344419fc _dispatch_mgr_invoke + 276
2   libdispatch.dylib               0x3443720e _dispatch_mgr_thread + 34

Thread 2 name:  AURemoteIO::IOThread
Thread 2:
0   libsystem_kernel.dylib          0x345084f0 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x345082e4 mach_msg + 36
2   AudioToolbox                    0x25e9599a AURemoteIO::IOThread::Run() + 102
3   AudioToolbox                    0x25e99094 AURemoteIO::IOThread::Entry(void*) + 4
4   AudioToolbox                    0x25dcd9e2 CAPThread::Entry(CAPThread*) + 206
5   libsystem_pthread.dylib         0x34598e90 _pthread_body + 136
6   libsystem_pthread.dylib         0x34598e02 _pthread_start + 114
7   libsystem_pthread.dylib         0x34596b8c thread_start + 4

Thread 3:
0   libsystem_kernel.dylib          0x3451c9cc __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x34596ea8 _pthread_wqthread + 788
2   libsystem_pthread.dylib         0x34596b80 start_wqthread + 4

Thread 4:
0   libsystem_kernel.dylib          0x3451c9cc __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x34596ea8 _pthread_wqthread + 788
2   libsystem_pthread.dylib         0x34596b80 start_wqthread + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x3481da04      r2: 0x16664d50      r3: 0x01001380
    r4: 0x00000000    r5: 0x3481da04      r6: 0x16664d50      r7: 0x00183450
    r8: 0x00000030    r9: 0xffffffff     r10: 0x00000013     r11: 0x347fa3c0
    ip: 0x36b8a198    sp: 0x00183444      lr: 0x33ed4a29      pc: 0x33ef1a54
  cpsr: 0x20000010
asked on Stack Overflow Feb 27, 2015 by Ciprian

1 Answer


Expanding on my earlier comment in an answer, as it won't fit in the comment anymore.

In your crash report, look at the first line under Binary Images


Binary Images:
   0xb3000 -   0x242fff  AppName armv7  <6daf5fd2c9e23af786cd580ef39b5b82> /private/var/mobile/Containers/Bundle/Application/E83D554F-BD3A-47CF-8753-AAACB0BDDF33/AppName.app/AppName

The hash between the angle brackets <> is the build UUID of the build that produced the crash log. We'll call that CrashLogUUID later.

Next, in terminal, change to your archived app directory and execute:

dwarfdump --uuid dSYMs/AppName.app.dSYM

You'll get back a number of UUIDs, one for each slice/architecture in the app.

Confirm that the CrashLogUUID you see in the crash log is listed in the UUID list for the app. If you don't see a match, you have the wrong archive/dSYM.

If it's the wrong dSYM, you can search for the correct one. You need to adjust the format of your CrashLogUUID from above, make it all upper case, and add hyphens to fit the standard UUID format: 8chars-4chars-4chars-4chars-12chars. Lets call this CrashLogUUIDFormatted.

Due to a bug in Mavericks, you will need to copy all of your archived projects out of the ~/Library folder and into somewhere that Spotlight indexes, such as your Desktop. In Mavericks, Spotlight won't index under ~/Library even if you specifically add it (rdar://17169292 fixed in Yosemite).

Now in terminal, enter:

mdfind "com_apple_xcode_dsym_uuids == CrashLogUUIDFormatted"

That will list the correct location of the app archive and/or dSYM related to your crash log. If it comes back empty, Spotlight can't find the correct build and you many not have it on your system.

Once you have the correct dSYM, you can either have Xcode try and do the symbolication automatically again (if it wasn't finding it with mdfind earlier but can do now, this will work). Or you can symbolicate it manually with the following command:

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash -v -o output.log yourCrashLog.crash AppName.dSYM

That will take your crash log and your dSYM and create a symbolicated crash log called output.log.

Hope that helps!

answered on Stack Overflow Feb 27, 2015 by Dave Wood

User contributions licensed under CC BY-SA 3.0