Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash reports are not symbolicated/processed on Simulators #849

Open
premun opened this issue Mar 31, 2022 · 3 comments
Open

Crash reports are not symbolicated/processed on Simulators #849

premun opened this issue Mar 31, 2022 · 3 comments
Labels
apple iOS/tvOS/WatchOS/Mac Catalyst area emulator Related to an emulator/Simulator

Comments

@premun
Copy link
Member

premun commented Mar 31, 2022

It seems we skip some steps here and the crash reports don't get symbolicated.

Crashing app is here:
https://dev.azure.com/xamarin/public/_build/results?buildId=58903&view=logs&j=84a022bb-4bdc-5585-8146-137444174249&t=d794747c-65a6-5105-c6e6-e1e37436ed3e

Or also here:

  1. git clone https://github.com/dotnet/maui
  2. dotnet build ./Microsoft.Maui.BuildTasks.slnf
    3 ./build.ps1 -Script eng/devices/ios.cake --project="/Users/ruimarinho/dotnet/maui/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj" --device=ios-simulator-64--results=TestResultsDirectory --binlog=device_ios.binlog
@premun premun added bug apple iOS/tvOS/WatchOS/Mac Catalyst area emulator Related to an emulator/Simulator and removed bug labels Mar 31, 2022
@rolfbjarne
Copy link
Member

Historical reasons why we're just processing crash reports from a device:

  1. There's no need to call mlaunch to get the crash report, it's already available on the file system. In other words this code is only applicable for crash reports from a device:
    var args = new MlaunchArguments(
    new DownloadCrashReportArgument(crashFile),
    new DownloadCrashReportToArgument(crashReportFile.FullPath));
    if (!string.IsNullOrEmpty(_deviceName))
    {
    args.Add(new DeviceNameArgument(_deviceName));
    }
    var result = await _processManager.ExecuteCommandAsync(args, _log, TimeSpan.FromMinutes(1));
  2. We JIT in the simulator, which means that managed frames won't be symbolicated anyway (this is not entirely true on ARM64 anymore).

@rmarinho
Copy link
Member

rmarinho commented Apr 4, 2022

where is the crash log i can access if i run this local on my machine and simulator @rolfbjarne ? cc: @PureWeen @mattleibow

@rolfbjarne
Copy link
Member

rolfbjarne commented Apr 4, 2022

Crash reports are stored in the ~/Library/Logs/DiagnosticReports/ directory (for both simulator and macOS apps)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
apple iOS/tvOS/WatchOS/Mac Catalyst area emulator Related to an emulator/Simulator
Projects
None yet
Development

No branches or pull requests

3 participants