1

My app is working perfectly in my devices but apple reported me that app is crashing on launching and they provided me a crash log which is in unreadable form and I've tried symbolising it but couldn't. I would really appreciate if someone help me resolve this.

{"app_name":"ApplicationName","timestamp":"2017-11-19 17:17:40.98 -0800","app_version":"1.0","slice_uuid":"119ebd01-6d77-30c1-bd7e-e247c4f549b4","adam_id":1312796230,"build_version":"1.0","bundleID":"Logicunit.AnalyzeQuran","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.1.2 (15B202)","incident_id":"DFC7AEE6-1BD7-45AC-B192-45B93C179CA3","name":"AnalyzeQuranIOS"}
Incident Identifier: DFC7AEE6-1BD7-45AC-B192-45B93C179CA3
CrashReporter Key:   357841d912f2df927b24861ec18fb870765ae9bd
Hardware Model:      xxx1
Process:             ApplicationName [857]
Path:                /private/var/containers/Bundle/Application/595A5C4D-0E0E-462D-88FD-38BF3399A298/ApplicationName.app/ApplicationName
Identifier:          Logicunit.ApplicationName
Version:             1.0 (1.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           ApplicationName [765]


Date/Time:           2017-11-19 17:17:40.9170 -0800
Launch Time:         2017-11-19 17:17:40.8317 -0800
OS Version:          iPhone OS 11.1.2 (15B202)
Baseband Version:    n/a
Report Version:      104

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

Application Specific Information:
abort() called

Filtered syslog:
None found

Thread 0 name:  tid_303  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x0000000184a59348 0x184a38000 + 136008
1   libsystem_pthread.dylib         0x0000000184b6d344 0x184b6a000 + 13124
2   libsystem_c.dylib               0x00000001849c905c 0x184966000 + 405596
3   libsystem_c.dylib               0x00000001849c8fc4 0x184966000 + 405444
4   ApplicationName                 0x0000000105758158 0x104e48000 + 9503064
5   ApplicationName                 0x0000000105753238 0x104e48000 + 9482808
6   ApplicationName                 0x000000010562a990 0x104e48000 + 8268176
7   ApplicationName                 0x00000001056759d8 0x104e48000 + 8575448
8   ApplicationName                 0x0000000105675554 0x104e48000 + 8574292
9   ApplicationName                 0x0000000105758250 0x104e48000 + 9503312
10  ApplicationName                 0x000000010575bf1c 0x104e48000 + 9518876
11  ApplicationName                 0x0000000104e69e04 0x104e48000 + 138756
12  libdyld.dylib                   0x000000018492a56c 0x184929000 + 5484

Thread 1:
0   libsystem_pthread.dylib         0x0000000184b6ac1c 0x184b6a000 + 3100

Thread 2:
0   libsystem_pthread.dylib         0x0000000184b6ac1c 0x184b6a000 + 3100

Thread 3:
0   libsystem_kernel.dylib          0x0000000184a59dbc 0x184a38000 + 138684
1   libsystem_pthread.dylib         0x0000000184b763f8 0x184b6a000 + 50168
2   libdispatch.dylib               0x00000001848cea78 0x1848c4000 + 43640
3   libdispatch.dylib               0x00000001848d0f40 0x1848c4000 + 53056
4   libdispatch.dylib               0x00000001848f2c34 0x1848c4000 + 191540
5   CoreFoundation                  0x0000000184ee95e4 0x184e00000 + 955876
6   CoreFoundation                  0x0000000184eebad4 0x184e00000 + 965332
7   CoreFoundation                  0x0000000184f7551c 0x184e00000 + 1529116
8   CoreFoundation                  0x0000000184eebad4 0x184e00000 + 965332
9   CoreFoundation                  0x0000000184ee8e8c 0x184e00000 + 953996
10  CoreFoundation                  0x0000000184eebad4 0x184e00000 + 965332
11  CoreFoundation                  0x0000000184edacac 0x184e00000 + 896172
12  libsystem_pthread.dylib         0x0000000184b6b680 0x184b6a000 + 5760
13  libsystem_pthread.dylib         0x0000000184b6b3d0 0x184b6a000 + 5072
14  libsystem_pthread.dylib         0x0000000184b6bc0c 0x184b6a000 + 7180
15  Foundation                      0x0000000185847d98 0x185825000 + 142744
16  Foundation                      0x0000000185932874 0x185825000 + 1103988
17  libsystem_pthread.dylib         0x0000000184b6c31c 0x184b6a000 + 8988
18  libsystem_pthread.dylib         0x0000000184b6c1e8 0x184b6a000 + 8680
19  libsystem_pthread.dylib         0x0000000184b6ac28 0x184b6a000 + 3112

Thread 4:
0   libsystem_pthread.dylib         0x0000000184b6ac24 0x184b6a000 + 3108

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000001
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x0000000000000038   x7: 0xffffffffffffffec
    x8: 0x0000000008000000   x9: 0x0000000004000000  x10: 0x00000000000003e8  x11: 0x00000001b7875c3c
   x12: 0x00000001b7875c3c  x13: 0x0000000000000018  x14: 0x0000000000000001  x15: 0x0000000000000881
   x16: 0x0000000000000148  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x00000001b5545b80  x21: 0x0000000105930000  x22: 0x0000000000000303  x23: 0x00000001b5545c60
   x24: 0x0000000105b80b73  x25: 0x00000001057aedfb  x26: 0x0000000000000000  x27: 0x00000001058b1c90
   x28: 0x00000001058b1c70   fp: 0x000000016afb6980   lr: 0x0000000184b6d344
    sp: 0x000000016afb6950   pc: 0x0000000184a59348 cpsr: 0x00000000

This app is built on Xamarin.iOS platform

Hasan
  • 170
  • 8
  • Possible duplicate of [How to symbolicate crash/error logs from a Xamarin Forms iOS project?](https://stackoverflow.com/questions/38579117/how-to-symbolicate-crash-error-logs-from-a-xamarin-forms-ios-project) – Tamás Sengel Nov 21 '17 at 14:51
  • It looks like this is not the full crash log, where's the `Binary Images:` section? – Kevin Li Nov 22 '17 at 02:03
  • Full crash log is [here](https://drive.google.com/open?id=1-KezFiUInedUk3ewP00A41VyKM4x_luv) ... @KevinLi – Hasan Nov 22 '17 at 06:21
  • https://drive.google.com/open?id=1uKUJWYmuEPk835I8MMEn0TRze_HaS8cZ – Hasan Nov 22 '17 at 07:04
  • I tried to symbolicate this file but an error occur that is '/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/symbolicatecrash: No such file or directory' while I can see this file using finder – Hasan Nov 22 '17 at 07:11
  • You may lose the `export` step. See my answer below. – Kevin Li Nov 22 '17 at 07:39

1 Answers1

4

According to the full crash report you provided in your comment, the first line of Binary Images section is :

Binary Images:
0x104e48000 - 0x105847fff AnalyzeQuranIOS arm64 <119ebd016d7730c1bd7ee247c4f549b4> /var/containers/Bundle/Application/595A5C4D-0E0E-462D-88FD-38BF3399A298/AnalyzeQuranIOS.app/AnalyzeQuranIOS

So, we can see the UUID of the app binary is 119ebd016d7730c1bd7ee247c4f549b4. You have to find the matching dSYM file which has the same UUID. Only when you find the matching dSYM file, you can symbolicate the unreadable Crash report.

Solution:

  1. Use the following command in Terminal to find the dSYM on your Mac which build the app:

     mdfind "com_apple_xcode_dsym_uuids == 12345678-90AB-CDEF-1234-567890ABCDEF"
    

    The string "12345678-90AB-CDEF-1234-567890ABCDEF" is the UUID string from the crash report reformatted to uppercase and 8-4-4-4-12 groups.

  2. Symobolicate Crash Report. Excute the following line before symbolicating.

    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    

    Place your .crash, .app, and .dSYM files in the same directory and run:

    /path/symbolicatecrash /path/mycrash.crash /path/MyAppName.app.dSYM > symbolicatedcrash.crash
    

    The path of symbolicatecrash tool in Xcode 9.1 is: /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash, you can check that according to your Xcode version.

Update:

If you has enabled Bitcode when you export the ipa via Xcode, the binary will be re-compiled by Apple and create new dSYM for it. You can download the new dSYM file from iTunes Connect or Xcode->Window->Organizer, about this you can refer to this All about Missing dSYMs.

Reference:

Kevin Li
  • 2,258
  • 1
  • 9
  • 18
  • 1
    I'm not getting any dSYM file using this command which is `mdfind "com_apple_xcode_dsym_uuids == 119EBD-016D-7730-C1BD-7EE247C4F549B4"` – Hasan Nov 22 '17 at 09:04
  • Did you enable `Bitcode` when you export the ipa via Xcode? – Kevin Li Nov 22 '17 at 09:11
  • I've a dSYM file extracted from xarchive but still terminal can't find a file.. and I didn't enable Bitcode.. – Hasan Nov 22 '17 at 10:56
  • @Hasan you can parse the dYSM to get the uuid of it via the command in the first reference link. Then check if the uuid of your dSYM is corresponding to the uuid of your binary. – Kevin Li Nov 22 '17 at 11:31
  • @Hasan, Find the UUID in the dSYM: `dwarfdump --uuid AppName.app.dSYM`. If the UUID is not corresponding to the one in your Crash report. The dSYM file can not symbolicate the crash report. – Kevin Li Nov 23 '17 at 01:12
  • If you still can't find the corresponding dSYM file, you may miss it which means there's no way to symbolicate that crash report :(. – Kevin Li Nov 23 '17 at 01:13
  • Thanks @KevinLi , I've symbolised crash report but symbolising crash report didn't help me though – Hasan Nov 23 '17 at 07:41
  • I was able to find the dSYM by opening XCode > Window > Organizer > Download dSYMs for the correct version. The mdfind command worked after doing this. – Anshuul Kai Sep 13 '18 at 23:13