question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Symbolication for AOT-compiled stack traces on iOS

See original GitHub issue

Package

Sentry.Maui

.NET Flavor

.NET

.NET Version

7.0.102

OS

iOS

SDK Version

3.28.1

Steps to Reproduce

  1. Make a new MAUI application
  2. Add Sentry.Maui
  3. Write code that throws an exception
  4. Configure MSBuild with org and project
  5. Build in Release mode
  6. Deploy to a real iOS device (not the simulator)
  7. Run the app and cause the exception to fire

Expected Result

Error in Sentry should include file names and line numbers in the stack trace.

Actual Result

No symbolication occurs.

image

Event: https://sentry-sdks.sentry.io/issues/3936606932/events/6292f7f7ec3744e6a410e0bd111879ce/?project=5428537

The JSON of the event does not contain any debug_meta information, symbolication is not attempted.

Issue Analytics

  • State:open
  • Created 7 months ago
  • Comments:25 (20 by maintainers)

github_iconTop GitHub Comments

3reactions
SamMonoRTcommented, Aug 15, 2023

We possibly can support iOS through Native AOT for apps targeting .NET 8 and later. Assuming this lands:

If so, this ticket, given its complexity, becomes lower priority. That is, if Mono AOT can be replaced with Native AOT.

And what we could focus on is:

We’ll encourage you to try steps for NativeAOT targetting iOS as mentioned in this blog post on any .NET8 Preview 6 or 7 builds and give us feedback - https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-6/#support-for-targeting-ios-platforms-with-nativeaot

1reaction
Swatinemcommented, Feb 16, 2023

Well, the stack frame simply has no instruction_addr. The addr_mode references the debug file, and the function_id is there as well. There just isn’t any instruction_addr. Is it possible that this particular platform does not provide any GetILOffset value at runtime?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Adding identifiable symbol names to a crash report
Replace hexadecimal addresses in a crash report with function names and line numbers that correspond to your app's code.
Read more >
symbolicating crash reports manually (stack trace, backtrace)
Symbolication is the process of resolving backtrace addresses to source code method or function names, known as symbols. Without first ...
Read more >
Symbolicating Stack Trace without Crash - ios
Is there any way to symbolicate a stack trace that is not a full crash report? I am logging the string result of...
Read more >
Symbolicating iOS Crash Reports and Logs
Symbolication of crash reports makes it easier to identify the origin of errors, making it easier to identify and resolve bugs in a...
Read more >
Mono 4.6.0 Release Notes
mono-symbolicate is now able to retrieve the correct symbols versions from the stack trace, and to symbolicate using the symbols in the symbol ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found