Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

symbolicatecrash with XCode 4.2 not symbolicating system symbols

This is a very weird problem. I think I must be doing something wrong, but I don't know what it is. I've been using symbolicatecrash for several years with no problems. The issue I'm seeing is that symbolicatecrash is not showing symbols for the system libraries, but it IS showing symbols for my application. I've tried everything I can think of to resolve this with no luck.

Note that I'm getting the same results on three different machines, 2 Lion, 1 Snow Leopard.

Example command line: /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash /Users/mike/Downloads/mycrash-iPad.crash

Note also that I get the same results when I drag the file into the logs section of the XCode 4.2 logs organizer window and wait for XCode to symbolicate the file.

Here's an example of a crash in my code with the partially symbolicated symbols:

Last Exception Backtrace:
0   CoreFoundation                  0x33dae8bf 0x33cf5000 + 759999
1   libobjc.A.dylib                 0x354ca1e5 0x354c1000 + 37349
2   CoreFoundation                  0x33dae7b9 0x33cf5000 + 759737
3   CoreFoundation                  0x33dae7db 0x33cf5000 + 759771
4   CoreFoundation                  0x33d1b6bb 0x33cf5000 + 157371
5   myZenfolio                      0x001a551d -[GtDataSourceManager setDataSource:forKey:] (GtDataSource.m:59)
6   myZenfolio                      0x0004c793 -[ZfUserAccountViewController doUpdateDataSourceManager:] (ZfUserAccountViewController.m:202)
7   myZenfolio                      0x0022f853 -[GtEditObjectViewController tableViewWillReloadData:] (GtEditObjectViewController.m:803)
8   CoreFoundation                  0x33d0d22b 0x33cf5000 + 98859
9   myZenfolio                      0x002557b9 -[GtTableView reloadData] (GtTableView.m:48)
10  myZenfolio                      0x0004c36d -[ZfUserAccountViewController _updateFromCache] (ZfUserAccountViewController.m:160)
11  CoreFoundation                  0x33d0d22b 0x33cf5000 + 98859
12  Foundation                      0x3187c757 0x317d8000 + 673623
13  CoreFoundation                  0x33d82b03 0x33cf5000 + 580355
14  CoreFoundation                  0x33d822cf 0x33cf5000 + 578255
15  CoreFoundation                  0x33d81075 0x33cf5000 + 573557
16  CoreFoundation                  0x33d044dd 0x33cf5000 + 62685
17  CoreFoundation                  0x33d043a5 0x33cf5000 + 62373
18  GraphicsServices                0x35944fcd 0x35941000 + 16333
19  UIKit                           0x34e49743 0x34e18000 + 202563
20  myZenfolio                      0x00004017 main (main.m:15)
21  myZenfolio                      0x00003fd0 start + 40

I've run the symbolicate crash command with -v and it's finding the app.dSym files okay, it just doesn't seem to be finding the library symfiles which seems to be the opposite problem most people are having. Facepalm.

For example, here's the output from a -v run for the CoreFoundation lib:

............fetching symbol file for CoreFoundation--[undef] 
Searching [/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation /Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation]...--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation] Running xcrun -sdk iphoneos lipo -info '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Running xcrun -sdk iphoneos otool -arch armv7 -l '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Given UUID de9eefc6109735369cfd8f3de9895da0 for '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation' is really UUID a2dbc131fdc0364e822339ca2926b6e8
-- NO MATCH
--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation] Running xcrun -sdk iphoneos lipo -info '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Running xcrun -sdk iphoneos otool -arch armv7 -l '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
Given UUID de9eefc6109735369cfd8f3de9895da0 for '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation' is really UUID a2dbc131fdc0364e822339ca2926b6e8
-- NO MATCH
Searching in Spotlight for dsym with UUID of de9eefc6109735369cfd8f3de9895da0
Running mdfind "com_apple_xcode_dsym_uuids == DE9EEFC6-1097-3536-9CFD-8F3DE9895DA0"
@dsym_paths = (  )
@exec_names = (  )
Did not find executable for dsym
## Warning: Can't find any unstripped binary that matches version of /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation

I really am at a loss to figure out what to try next.

Does anyone have any ideas? I'm fresh out. Your help will be much appreciated!

thanks, Mike

More info, now I'm getting an error in the symbolicatecrash output.

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/Foundation.framework/Foundation truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 22 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/Foundation.framework/Foundation
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 17 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/UIKit.framework/UIKit truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 41 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/UIKit.framework/UIKit
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/WebCore.framework/WebCore truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 28 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/PrivateFrameworks/WebCore.framework/WebCore
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/libobjc.A.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 12 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/libobjc.A.dylib
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libdispatch.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 11 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libdispatch.dylib
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_c.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 11 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_c.dylib
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 15 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/size: for architecture armv7 object: /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_kernel.dylib truncated or malformed object (dataoff field of LC_FUNCTION_STARTS command 10 extends past the end of the file)
Error in symbol file for /Users/mike/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/usr/lib/system/libsystem_kernel.dylib
like image 825
Mike Fullerton Avatar asked Nov 18 '11 00:11

Mike Fullerton


People also ask

How to use symbolicatecrash in Xcode?

In the beginning of symbolicating process you need to find the command line tool provided by Apple. The tool is called “symbolicatecrash” and is shipped with Xcode. Open Terminal and write this command: Find the path which contains DVTFoundation.framework. Copy the full path to the clipboard. You will use it later.

How do I get the Xcode Crash Symbols for my App?

If the Xcode organizer doesn't provide any new symbols, you must download the dSYM files from the iTunes Connect portal by following these steps: Select the build version of your app that has the missing symbols Upload the downloaded file to App Center. This file contains the symbols required for App Center to symbolicated your crashes.

How can I symbolicate IOS crash logs using dSYM?

Create a zip file of the dSYM bundle. If you're using Visual Studio instead of Xcode, see Where can I find the dSYM file to symbolicate iOS crash logs? to find the dSYM file. In the left menu, navigate to the Diagnostics section and select Symbols. In the top-right corner, click Upload symbols and upload the file.

What's new in Xcode 4?

New Features in Xcode 4 Xcode 4.1adds features to support OS X v10.7 Lion as well as other enhancements to the application. Xcode 4.2adds features to support iOS 5 as well as other enhancements to the application. Xcode 4.3adds features to support iOS 5.0 and OS X v10.7, as well as other enhancements to the toolset.


2 Answers

The following solved the problem for me:

  • Delete the folder ~/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)
  • Reattach your iOS device and it will automatically import the correct symbols.

After that the crash reports could be symbolicated correctly. (to re-symbolicate a crash report, open the Organizer, click on 'Reveal in Finder' and delete the symbolicated version)

like image 93
ARsteve Avatar answered Oct 15 '22 18:10

ARsteve


It looks like this is an acknowledged bug with Xcode 4.2 and iOS 5:

https://devforums.apple.com/message/578722

A new Xcode beta was released for Lion yesterday, does that work for you? I can't try it myself because it's not available for Snow Leopard yet.

like image 20
arlomedia Avatar answered Oct 15 '22 18:10

arlomedia