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
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
EG>
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!
User contributions licensed under CC BY-SA 3.0