Skip to content

Symbolicate Flutter issue's title #2805

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

Open
Tracked by #85442
marandaneto opened this issue May 2, 2023 · 23 comments
Open
Tracked by #85442

Symbolicate Flutter issue's title #2805

marandaneto opened this issue May 2, 2023 · 23 comments
Assignees
Labels
dart Pull requests that update Dart code Improvement Mobile Experience product

Comments

@marandaneto
Copy link
Contributor

marandaneto commented May 2, 2023

Problem Statement

https://docs.sentry.io/platforms/flutter/troubleshooting/#known-limitations

Issue titles might be obfuscated as we rely on the runtimeType, but they may not be human-readable. See the Obfuscate Caveat.

The issue's title is still obfuscated even if uploading debug symbols and symbolicating the error.

Solution Brainstorm

We can infer the title from the exception list, similarly to how Java does.
https://github.com/getsentry/sentry/blob/master/src/sentry/lang/java/processing.py#L6

Product Area

Issues


Update

Native platforms such as iOS, Android:

  • Can be implemented, sentry-cli can associate the generated file (--extra-gen-snapshot-options=--save-obfuscation-map=mapping.json) with the Code ID from the debug symbols

Web:

@kahest

This comment has been minimized.

@kahest kahest moved this from Needs Discussion to Backlog in [DEPRECATED] Mobile SDKs May 11, 2023
@aprzedecki
Copy link

is it doable in the nearest future ?

@github-actions

This comment has been minimized.

@ioanniskouts
Copy link

Any updates on this? It will save us some time if we have this feature and might also help with the issues grouping.

@marandaneto
Copy link
Contributor Author

@ioanniskouts is in the plan but I don't have a timeline, this won't affect grouping though, it's only about the issue's title.
The stack trace frames are already symbolicated.

@aprzedecki
Copy link

There seem to be a bigger issue with that - each release is a new build, which regenerated all symbols that have different obfuscation values. This causes that existing issues are duplicated and maintaining the project becomes very time consuming to merge again and again the same issues. Is there any solution for that ?

@marandaneto
Copy link
Contributor Author

@aprzedecki issues are grouped per stack trace by default, and grouping happens after symbolication, this isn't related to this issue (this is just about the title).
In case you are facing grouping problems, please raise a new issue with more context (eg links of 2 different issues that should be grouped together but are not).

@aprzedecki
Copy link

Ok, thanks for clearing up.

@marandaneto
Copy link
Contributor Author

This is not possible on Flutter web, See https://github.com/dart-lang/sdk/blob/master/pkg/compiler/doc/sourcemap_extensions.md#global-minified-names
The source maps contain only the minified types but not the damangled ones.
The frames also don't contain the type, but rather the filename and function only.
In this case, showing the function and filename/module would be already better but it's not possible to map the right frame from the minified type.

We'll need to address dart-lang/sdk#51941 first which is being able to upload the generated file from (--extra-gen-snapshot-options=--save-obfuscation-map=mapping.json) and then demangle the type based on the mappings.json.

I'll check AOT compiled apps now.

@marandaneto marandaneto moved this from Backlog to In Progress in [DEPRECATED] Mobile SDKs Jul 17, 2023
@marandaneto
Copy link
Contributor Author

Found an alternative for AOT apps, See dart-lang/sdk#51941 (comment)
This has to be implemented on the Sentry SDK first, sentry-cli, Sentry Dart plugin, and Sentry itself first, which is a way bigger scope than actually planned, I will talk internally about this investment.

@aprzedecki
Copy link

@marandaneto any news on this one ?

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 2 Jan 4, 2024
@kahest
Copy link
Member

kahest commented Jan 4, 2024

Hey @aprzedecki, thanks for your interest - we don't have definite plans or a timeline at the moment. cc @buenaflor

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Jun 14, 2024
@buenaflor
Copy link
Contributor

@Masadow could you share a link to the event to [email protected] please

@kahest
Copy link
Member

kahest commented Jul 29, 2024

Update: we merged an improvement to mitigate this issue for well-known exception types, will be available with the next release. cc @buenaflor

Edit: Read our changelog entry for more info

@buenaflor buenaflor moved this from Needs Investigation to Backlog in [DEPRECATED] Mobile SDKs Jul 30, 2024
@bawahakim
Copy link

bawahakim commented Mar 19, 2025

In our case, the title of issues are still obfuscated, even for throwing a simple exception. I see in the update that we could upload the obfuscation map, but I don't see any option for that in the latest version. Any update on getting this to work on native platforms?

Tested with

sentry_flutter: ^8.14.0
sentry_dart_plugin: ^2.4.1

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Mar 19, 2025
@github-project-automation github-project-automation bot moved this to Needs Discussion in [DEPRECATED] Mobile SDKs Mar 19, 2025
@kahest kahest transferred this issue from getsentry/sentry Mar 19, 2025
@kahest kahest added the product label Mar 19, 2025
@buenaflor
Copy link
Contributor

I see in the update that we could upload the obfuscation map, but I don't see any option for that in the latest version

Right now we cant upload, the update was meant to say that we can implement this and don't have any blockers, it's not supported yet, sry for misleading here.

If you want to mitigate this issue for now you can use our ExceptionIdentifier (as described here) to add exceptions to the list you want to have not obfuscated. It's a temporary workaround for now until we can properly fix this with the obfuscation map

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dart Pull requests that update Dart code Improvement Mobile Experience product
Projects
Status: No status
Status: No status
Status: Backlog
Development

No branches or pull requests