xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.44k stars 508 forks source link

Symbolicate crash report for libmonosgen-2.0.dylib not working? #3752

Open VincentDondain opened 6 years ago

VincentDondain commented 6 years ago

How do I get symbolicated crash reports for libmonosgen-2.0.dylib and libxamarin-debug.dylib?

Maybe I'm doing something wrong but I assumed that with the app and the attached dSYM, the crash log would be symbolicated fully (including libmonosgen). Am I missing something?

Tried to run /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash -v to force the resymbolization (in case Xcode didn't do it completely).

Crash + app + dSYM here: https://www.dropbox.com/s/hx6by53vbgkoayz/NotFullySymbolicated.zip?dl=0

Environment

=== Visual Studio Enterprise 2017 for Mac ===

Version 7.4 (build 1033)
Installation UUID: bef2b48b-cfbf-4371-bca9-fa440adab7db
Runtime:
    Mono 5.10.0.171 (2017-12/ef8ab4986af) (64-bit)
    GTK+ 2.24.23 (Raleigh theme)

    Package version: 510000171

=== NuGet ===

Version: 4.3.1.4445

=== .NET Core ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    2.0.5
    2.0.0
SDK: /usr/local/share/dotnet/sdk/2.1.4/Sdks
SDK Versions:
    2.1.4
    2.0.2
    2.0.0
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.10.0/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Profiler ===

Version: 1.6.2
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Xamarin.Android ===

Version: 8.0.99.26 (Visual Studio Enterprise)
Android SDK: /Users/vince/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        6.0 (API level 23)
        7.0 (API level 24)
        7.1 (API level 25)
        8.0 (API level 26)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 26.0.2
SDK Build Tools Version: 27.0.0

Java SDK: /usr
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Apple Developer Tools ===

Xcode 9.3 (14136.3)
Build 9Q127n

=== Xamarin.Mac ===

Version: 4.4.0.36 (Visual Studio Enterprise)

=== Xamarin.iOS ===

Version: 11.9.0.10 (Visual Studio Enterprise)
Hash: 06d390ce
Branch: xcode9.3
Build date: 2018-03-09 10:07:38-0500

=== Xamarin Inspector ===

Version: 1.4.0
Hash: b3f92f9
Branch: master
Build date: Fri, 19 Jan 2018 22:00:34 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 704001033
Git revision: 053991068f3c88497d3e5cc52fe7fdf57c28b62f
Build date: 2018-02-28 05:02:28-05
Xamarin addins: cc3283953e0af0b8bfab1bdfdf847d9e403c4606
Build lane: monodevelop-lion-d15-6

=== Operating System ===

Mac OS X 10.13.3
Darwin 17.4.0 Darwin Kernel Version 17.4.0
    Sun Dec 17 09:19:54 PST 2017
    root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

=== Enabled user installed addins ===

NuGet Package Explorer 0.2
Internet of Things (IoT) development (Preview) 7.1

Crash logs

symbolicated-crash-report.txt

dalexsoto commented 6 years ago

Maybe @rolfbjarne knows :)

VincentDondain commented 6 years ago

@rolfbjarne so if I manually copy /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/SDKs/Xamarin.WatchOS.sdk/usr/lib/libmonosgen-2.0.dylib.dSYM next to my crash, app and app.dSYM I can symbolicate libmonosgen-2.0.dylib.

symbolicated-report-with-libmono.txt

Xcode doesn't do it automatically though and also it's missing the SpeedySlothWatchAppExtension symbols and libxamarin-debug.

rolfbjarne commented 6 years ago

mdimport /Library/Frameworks/Xamarin.iOS.framework/Versions/Current would probably also work, and make Xcode find the dSYM automatically. I believe Spotlight will eventually index it, but you probably tried to symbolicate before it had finished.

libxamarin*.dylib currently doesn't have dSYMs, so that's kind of expected (we should probably fix it though).

I'm not sure what's up with the symbols for SpeedySlothWatchAppExtension, that should work.

VincentDondain commented 6 years ago

@rolfbjarne mdimport /Library/Frameworks/Xamarin.iOS.framework/Versions/Current seems to have helped Xcode symbolicate automatically. Wonder if we should force run that ourselves though? Note that Mykyta's crash isn't symbolicated either: https://github.com/xamarin/xamarin-macios/issues/3707. So most likely our customers run into the same issue and don't give us properly symbolicated crashes.