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

when the new version of mapping.txt remains unchanged, it will not be uploaded, resulting in a stack parsing failure. #3132

Closed
jiagengArctuition opened this issue Jan 9, 2024 · 5 comments

Comments

@jiagengArctuition
Copy link

Integration

sentry-android

Build System

Gradle

AGP Version

7.2.0

Proguard

Enabled

Version

6.29.0

Steps to Reproduce

image
image

Our Android app is developed using Flutter, with minimal Java code. When we create a new version, often only the Dart code changes, while the Java code remains the same. Consequently, the mapping.txt file remains unchanged compared to the previous version. When we build the app in GitHub Actions and use the mathieu-bour/setup-sentry-cli@1.2.0 action to upload mapping.txt, it detects that there is no new mapping.txt, and thus, it doesn't upload it. I believe this behavior is reasonable.

However, when a new version with Java exceptions occurs, Sentry does not use the existing mapping.txt for resolution.

Expected Result

image

Actual Result

image

@romtsn
Copy link
Member

romtsn commented Jan 9, 2024

hey @jiagengArctuition, can you check the raw json event payload (you can access it by clicking the button as shown on the screenshot)?
image

It should contain a debug_meta entry similar to this one below:

"debug_meta":{"images":[{"uuid":"<your_uuid>","type":"proguard"}

This is necessary to deobfuscate your stacktraces. If it's missing, then I'd suggest you to open an issue in the respective github action repo. The uuid always has to be present in the payload, even if the mapping file did not change.

@jiagengArctuition
Copy link
Author

@romtsn Thank you, I indeed couldn't find 'debug_meta' in the JSON payload. Can Sentry provide an official GitHub Action for this task?

@stefanosiano
Copy link
Member

hi @jiagengArctuition
there is no plan to provide a Github Action for this task.
Anyway, you should provide a proguard_uuid for every obfuscated event. You can have a look at https://docs.sentry.io/product/cli/dif/#proguard-mapping-upload

@stefanosiano stefanosiano closed this as not planned Won't fix, can't repro, duplicate, stale Jan 10, 2024
@romtsn
Copy link
Member

romtsn commented Jan 10, 2024

@jiagengArctuition also, we recommend using our Gradle plugin which does everything automatically for you, so take a look here as well: https://docs.sentry.io/platforms/android/configuration/gradle/

@jiagengArctuition
Copy link
Author

@romtsn Thank you very much! The gradle plugin will upload the mapping.txt every time, even if its md5 has not changed. The problem has been solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Archived in project
Development

No branches or pull requests

3 participants