0

For some reason I can't symbolicate my crash logs received from iTunes Connect as my app was rejected because of an crash.

I've tried the following:

  • Run mdimport . in the Archives folder
  • Installed Command Line Tools
  • Deleted and imported the crash log into the Device Logs several times

Running dwarfdump --uuid Savea\ Booking.app/Savea\ Booking returns:

  • UUID: 9398CB03-BC2B-3A0A-8516-DE300ADCBE74 (armv7) Savea Booking.app/Savea Booking
  • UUID: FD2EA5F8-23AC-3483-8A48-3BDAA92A062E (armv7s) Savea Booking.app/Savea Booking

Running dwarfdump --uuid Savea\ Booking.app.dSYM returns:

  • UUID: 9398CB03-BC2B-3A0A-8516-DE300ADCBE74 (armv7) Savea Booking.app.dSYM/Contents/Resources/DWARF/Savea Booking
  • UUID: FD2EA5F8-23AC-3483-8A48-3BDAA92A062E (armv7s) Savea Booking.app.dSYM/Contents/Resources/DWARF/Savea Booking

I can find the .xarchive-file by using this command: mdfind "com_apple_xcode_dsym_uuids == 9398CB03-BC2B-3A0A-8516-DE300ADCBE74"

Following this tutorial didn't symbolicate my crash-log

This works for me. But I would really like to get it working in Xcode so that I don't have to do that every time.

Link to my .crash and .dSYM-file

Community
  • 1
  • 1
Daniel Tovesson
  • 2,550
  • 1
  • 30
  • 41
  • 1
    Most likely the required dSYM is not available on your system or cannot be found. Without further information it is impossible to even give a hint. Check the UUID of the required binary in the crash report and compare it with the UUID of the dSYM in your archive. Plenty of questions and answers are available on this. – Kerni Oct 14 '13 at 14:38
  • The UUID of the crash is: 9398cb03bc2b3a0a8516de300adcbe74. When executing `dwarfdump --uuid Savea\ Booking.app.dSYM` I get the following UUIDs: UUID: 9398CB03-BC2B-3A0A-8516-DE300ADCBE74 (armv7) UUID: FD2EA5F8-23AC-3483-8A48-3BDAA92A062E (armv7s). So it matches the one for armv7. – Daniel Tovesson Oct 14 '13 at 15:12
  • How about giving more information? Error messages in the console, trying spotlight in the terminal to find the dSYM, trying `symbolicatecrash` manually in the terminal, etc. etc. (Again, you find enough help here on how to do those) – Kerni Oct 14 '13 at 16:19
  • Updated my question. Hope it helps. I have been around the internet trying a lot of different solutions but none seems to fix my problem. – Daniel Tovesson Oct 15 '13 at 08:27
  • No. Where are the error messages, log output, ... regarding `Following this tutorial didn't symbolicate my crash-log`? In addition, since `mdfind` doesn't find the dSYM, symbolication via Xcode will not work either, since it uses Spotlight too. It is pretty much impossible to say why this is the case without detailed information. I suspect there is more wrong (or some of your provided information is incorrect). Upload the dSYM and the crash so we can take a look at them ourselves. Can't help otherwise. – Kerni Oct 15 '13 at 11:52
  • I did find the dSYM file using `mdfind`. I uploaded the files you asked for, see my question. I'll get back to you regarding error messages and log output. – Daniel Tovesson Oct 15 '13 at 14:04
  • Ok. I misread that note above. Will now write an answer for why this doesn't work as your files helped finding out the reason. – Kerni Oct 15 '13 at 15:10

1 Answers1

1

Symbolication doesn't work because your executable name has a space in it. The OS X helper tool otool doesn't like this and it is required for symbolication to work. Make sure that your executable name doesn't have any special chars in it in your next app version.

The crash happens because your storyboard couldn't load a required nib file. Most likely because of the file either not existing (unlikely) or referenced by the wrong filename (likely). Please remember that the device file system is case-sensitive while OS X is insensitive by default!

I attached the symbolicated crash (using my own private symbolication toolchain and scripts):

Incident Identifier: C4E1902B-29C7-4C79-BBD9-289B36D651AB
CrashReporter Key:   ffec59eac2b6b66dc18256d1f171056ad500f27e
Hardware Model:      xxx
Process:             Savea Booking [2937]
Path:                /var/mobile/Applications/DB85F472-98E7-40D4-B9FB-0D9AEA96967D/Savea Booking.app/Savea Booking
Identifier:          se.savea.booking
Version:             1.12 (1.12)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2013-10-10 12:07:34.262 -0700
OS Version:          iOS 7.0.2 (11A501)
Report Version:      104

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

Last Exception Backtrace:
0   CoreFoundation                  0x30ec8f4e __exceptionPreprocess + 126
1   libobjc.A.dylib                 0x3b6d76aa objc_exception_throw + 34
2   UIKit                           0x33ae3d3c +[UIStoryboard storyboardWithName:bundle:] + 624
3   UIKit                           0x338b2b44 -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 40
4   UIKit                           0x336a4c20 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 472
5   UIKit                           0x3363f6a2 -[UIApplication handleEvent:withNewEvent:] + 3126
6   UIKit                           0x3363e9a4 -[UIApplication sendEvent:] + 68
7   UIKit                           0x336a44f8 _UIApplicationHandleEvent + 660
8   GraphicsServices                0x35af8708 _PurpleEventCallback + 604
9   GraphicsServices                0x35af82f2 PurpleEventCallback + 30
10  CoreFoundation                  0x30e939e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30
11  CoreFoundation                  0x30e9397e __CFRunLoopDoSource1 + 342
12  CoreFoundation                  0x30e92152 __CFRunLoopRun + 1394
13  CoreFoundation                  0x30dfcce2 0x30df5000 + 31970
14  CoreFoundation                  0x30dfcac6 CFRunLoopRunInMode + 102
15  UIKit                           0x336a3794 -[UIApplication _run] + 756
16  UIKit                           0x3369ea3c UIApplicationMain + 1132
17  Savea Booking                   0x34562 main (main.m:16)

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3bc961fc __pthread_kill + 8
1   libsystem_pthread.dylib         0x3bcffa2e pthread_kill + 54
2   libsystem_c.dylib               0x3bc46ff8 abort + 72
3   libc++abi.dylib                 0x3af75cd2 abort_message + 70
4   libc++abi.dylib                 0x3af8e6e0 default_terminate_handler() + 248
5   libobjc.A.dylib                 0x3b6d791e _objc_terminate() + 190
6   libc++abi.dylib                 0x3af8c1c4 std::__terminate(void (*)()) + 76
7   libc++abi.dylib                 0x3af8bd28 __cxa_rethrow + 96
8   libobjc.A.dylib                 0x3b6d77f2 objc_exception_rethrow + 38
9   CoreFoundation                  0x30dfcd58 CFRunLoopRunSpecific + 636
10  CoreFoundation                  0x30dfcac6 CFRunLoopRunInMode + 102
11  UIKit                           0x336a3794 -[UIApplication _run] + 756
12  UIKit                           0x3369ea3c UIApplicationMain + 1132
13  Savea Booking                   0x00034562 main (main.m:16)
14  libdyld.dylib                   0x3bbdfab4 start + 0

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x3bc8383c kevent64 + 24
1   libdispatch.dylib               0x3bbc4220 _dispatch_mgr_invoke + 228
2   libdispatch.dylib               0x3bbc3fa6 _dispatch_mgr_thread$VARIANT$mp + 34

Thread 2:
0   libsystem_kernel.dylib          0x3bc96c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3bcfcdc6 _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3bcfcc80 start_wqthread + 4

Thread 3 name:  WebThread
Thread 3:
0   libsystem_kernel.dylib          0x3bc83a8c mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3bc83888 mach_msg + 44
2   CoreFoundation                  0x30e937c6 __CFRunLoopServiceMachPort + 150
3   CoreFoundation                  0x30e91eec __CFRunLoopRun + 780
4   CoreFoundation                  0x30dfcce2 CFRunLoopRunSpecific + 518
5   CoreFoundation                  0x30dfcac6 CFRunLoopRunInMode + 102
6   WebCore                         0x38f7fbae RunWebThread(void*) + 414
7   libsystem_pthread.dylib         0x3bcfec1a _pthread_body + 138
8   libsystem_pthread.dylib         0x3bcfeb8a _pthread_start + 98
9   libsystem_pthread.dylib         0x3bcfcc8c thread_start + 4

Thread 4:
0   libsystem_kernel.dylib          0x3bc96c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3bcfcdc6 _pthread_wqthread + 306
2   libsystem_pthread.dylib         0x3bcfcc80 start_wqthread + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000000      r3: 0x00002060
    r4: 0x00000006    r5: 0x3db5c18c      r6: 0x00000000      r7: 0x27dce584
    r8: 0x16ea1160    r9: 0x00000001     r10: 0x33c234fb     r11: 0x16d94d40
    ip: 0x00000148    sp: 0x27dce578      lr: 0x3bcffa33      pc: 0x3bc961fc
  cpsr: 0x00000010
Kerni
  • 15,241
  • 5
  • 36
  • 57
  • First of all: thank you! Second: changed ${EXECUTABLE_NAME} to SaveaBooking instead. However I still can't symbolicate the crash-logs. But maybe that's because I had a space there when submitting the app? I have 3 more crash logs you see, so is there no workaround? – Daniel Tovesson Oct 15 '13 at 16:56
  • Changing the executable name only works for future app versions and crashes for those versions. For now, you need to patch the dSYM and edit the filename inside the package in the lowest directory level and remove the space. I think that should be enough, if it is not then edit the filename in the .app bundle too and also edit the crash report and do the same down in the first line of the `Binary Images` section. – Kerni Oct 15 '13 at 17:00