Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS app has mysterious UUID with no matching dSYM so cannot symbolicate

I'm pretty familiar with how crash logs for iOS apps are symbolicated but this one is a head scratcher.

I have MyApp with build 2345 that was released as a beta through TestFlight, using the normal Archive then Upload to App Store flow in Xcode 7.2 (7C68).

When I do a dwarfdump for the binary in the the xcarchive, I get the following:

dwarfdump --uuid MyApp.app/MyApp
UUID: 0BDA6D6F-3C0D-339E-842F-C2CB04199E10 (armv7) MyApp.app/MyApp
UUID: B2A69BEC-DF5E-33EA-A9E0-490EBF03074C (arm64) MyApp.app/MyApp

Here is the dwarfdump for the dSYM file:

dwarfdump --uuid MyApp.app.dSYM
UUID: 0BDA6D6F-3C0D-339E-842F-C2CB04199E10 (armv7) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
UUID: B2A69BEC-DF5E-33EA-A9E0-490EBF03074C (arm64) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp

So far, so good.

However, I received a crash through Organize > Crashes for build 2345 that has a different UUID for the binary:

0x100054000 - 0x1000fffff myapp arm64  <3715db2438743cf5aac1742d9a214c2c> /var/mobile/Containers/Bundle/Application/7313BC02-3F90-4F94-82E2-CBDC941E5D68/MyApp.app/myapp
0x100144000 - 0x1001e7fff AWSCore arm64  <c2aa13236d0437b98194c0487db69e68> /var/mobile/Containers/Bundle/Application/7313BC02-3F90-4F94-82E2-CBDC941E5D68/blink.app/Frameworks/AWSCore.framework/AWSCore
....

I know for sure that the crash report is for the same build, yet the UUID here is 3715db2... when I am expecting it to be b2a69bec...

I do have bitcode enabled so I tried doing a Download dSYMs from the Organizer Archive page (even though I built arm64 so Apple shouldn't have had to) and it retrieved dSYMs for the other UUIDs/binaries in the crash report but nothing for the myapp binary. In fact, the myapp binary is the only binary that didn't get a corresponding dSYM downloaded!

So a couple questions:

  1. Where did the 3715db2438743cf5aac1742d9a214c2c version of the myapp binary come from?
  2. How can I get the dSYM for it so that I can symbolicate the crash? Apple is not returning it with the "Download dSYMs" option in Xcode.
like image 381
OpenUserX03 Avatar asked Jan 30 '16 17:01

OpenUserX03


People also ask

What is iOS dSYM?

A dSYM file is an ELF file that contains DWARF (debugging with attributed record formats) debug information for your application. DWARF is a debugging file format that supports source-level debugging.

Where is the dSYM file located?

Your app's dSYM files are stored in Xcode's dSYM archive path folder. This is the folder where the iOS agent gets the dSYM files that are used to symbolicate your crash reports. New Relic provides a post-build script as part of the iOS agent's install process.


1 Answers

Looks like I found the solution.

It's possible in case you set Bitcode enabled. To get necessary dSym you should either use "Download dSYMs..." button (Xcode / Organizer / Your Archive - right panel with archive information) or download them from iTunes Connect (Activity tab, link in build's details ).

iTunes Connect

Last option helped in my situation.

like image 125
kpower Avatar answered Oct 14 '22 01:10

kpower