5

I am trying to analyse a crash log that a customer sent me, but I cannot get it to symbolicate the system library calls. It does symbolicate calls to my own methods correctly. That does not make it very practical to analyse what goes wrong. I have run 'symbolicatecrash -v', to see what is causing the lack of symbolication. The likely cause is this:

## /Users/baraupp/Library/Developer/Xcode/iOS DeviceSupport/6.1.3 (10B329)/Symbols/usr/lib/system/libsystem_kernel.dylib doesn't contain armv7s slice

I have checked the mentioned libraries with 'lipo', which says that they contain 'armv7' but no 'armv7s'. After searching the web, it came out that this is a difference between iPhone 4 and iPhone 5. The normal solution seems to be to plug-in an iPhone 5 device and download the libraries from there. But I don't have an iPhone 5.

Anybody knows how to solve this?

To give you an idea how the symbolication looks like:

Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3bab0350 0x3ba9f000 + 70480
1   libsystem_c.dylib               0x3ba26fb2 0x3b9f8000 + 192434
2   libsystem_c.dylib               0x3ba63366 0x3b9f8000 + 439142
3   libc++abi.dylib                 0x3b00bdda 0x3b008000 + 15834
4   libc++abi.dylib                 0x3b009094 0x3b008000 + 4244
5   libobjc.A.dylib                 0x3b5bca58 0x3b5b4000 + 35416
6   libc++abi.dylib                 0x3b009118 0x3b008000 + 4376
7   libc++abi.dylib                 0x3b0091b0 0x3b008000 + 4528
8   libc++abi.dylib                 0x3b00a626 0x3b008000 + 9766
9   libobjc.A.dylib                 0x3b5bc9b0 0x3b5b4000 + 35248
10  CoreFoundation                  0x3380829c 0x337ff000 + 37532
11  CoreFoundation                  0x338080c4 0x337ff000 + 37060
12  GraphicsServices                0x373e7336 0x373e2000 + 21302
13  UIKit                           0x357242b4 0x356cd000 + 357044
14  Flyskyhy                        0x000f8a66 main (main.m:17)
15  Flyskyhy                        0x000f8a1c 0xf6000 + 10780
fishinear
  • 6,101
  • 3
  • 36
  • 84

3 Answers3

8

There are only two ways to solve this:

  1. You either need an iPhone 5 device with iOS 6.1.3 to plug into your computer so Xcode can import the symbols
  2. Or you need to get the symbols from another developer and replace yours with them.

Usually the symbols are part of the latest Xcode release, but Apple doesn't always provide Xcode updates when an iOS version only contains bug-fixes but no API changes.

Kerni
  • 15,241
  • 5
  • 36
  • 57
  • 12
    I have borrowed an iPhone 5 with 6.1.3 from a friend, and now the crash log is correctly symbolicated. But I have also logged a bugreport on Xcode (13811970), because I think it is reasonable to expect that Xcode can symbolicate all crash logs without having to find iPhone hardware that happens to run the exact version of iOS that produced the crash log. – fishinear May 05 '13 at 17:28
  • For #2 - how do you get the symbols from another developer? – Andrew Aug 28 '13 at 22:54
  • 2
    The symbols are located in `~/Library/Developer/Xcode/iOS DeviceSupport/` with a directory for each iOS version. – Kerni Aug 28 '13 at 22:56
  • Is there any online resource which would allow me to download the symbols, either provided by Apple or otherwise? I tried to ask this as a separate question ( http://stackoverflow.com/questions/18500104/where-to-get-ios-system-symbols-for-other-ios-versions?lq=1 ) but it was closed as a duplicate of this one. – Arkaaito Aug 29 '13 at 19:47
  • No, there is no online resource available. Otherwise I would have written there are three ways to solve this. – Kerni Aug 29 '13 at 20:00
  • Thanks. It sounds like if there is a resource, it's incredibly well-hidden. I'll burn a support incident and try to find out whether it's forbidden or simply doesn't exist yet. – Arkaaito Aug 29 '13 at 21:26
3

I ran into this issue as well with an iOS7 app using XCode5, even though I had all the correct symbols.

What I found was that I had taken my dSYM file out of the archive where spotlight could index it, but the crashlog was only getting partically symbolicated (as seen in the question). But I had left the actual .app file in an xcarchive, and it was not able to be indexed by spotlight. As soon as I copied that file out of the archive to the visible location, I was able to symbolicate properly.

beno
  • 2,160
  • 1
  • 25
  • 24
  • This solved my problem too. In my case it was just the methods in my own app that weren't symbolicated. Thought it might be a Spotlight issue so I copied the dSYM to the desktop, but that didn't help. Copying the complete bundle contents--including the .app--got it working correctly! – robotspacer Oct 28 '13 at 21:28
0

In following answer of Kerni: You can install related Xcode with your target version of iOS and copy ~/Library/Developer/Xcode/iOS DeviceSupport/

Dr. chamran
  • 540
  • 4
  • 11