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.

Some Crashlytics stack traces still obfuscated

See original GitHub issue

Environment

  • Android Studio version: Android Studio Arctic Fox | 2020.3.1 Patch 3
  • Firebase Component: Crashlytics
  • Component version:
    • firebase-bom version: 28.4.2
    • Crashlytics Gradle plugin version: 2.7.1

Problem

Some stack traces in Crashlytics still show up as obfuscated, such as below: Screen Shot 2022-02-02 at 12 27 46 PM

From looking at the Crashlytics console, this seems to only occur with the production release of our app and only with some of the stack traces. Our debug project on Firebase shows that all of those stack traces are de-obfuscated correctly. Our debug and production builds use the same proguard-rules file, and I can see from the FirebaseCrashlytics logs that the mapping file does seem to get created correctly.

If I take the obfuscated stack trace from Firebase and use our generated mapping.txt file with the retrace.sh script, I can see the stack trace be correctly de-obfuscated as well.

Relevant Code:

This is from the app’s build.gradle file and is the same for both our ‘release’ and ‘debug’ build types:

minifyEnabled = true
shrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")

Please let me know what other information you may need. Thank you!

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
mrichardscommented, Mar 21, 2022

@mitchell-ibarra @mattbusuu Sorry I lost track of this issue! Can you both make sure you are on the latest versions of the Crashlytics SDK (18.2.9) and the latest Crashlytics Gradle plugin (2.8.1). The Firebase App Distribution plugin version should not matter for deobfuscation.

Once on the latest versions, if the issue persists, please provide the debugging output from your Gradle build. You can filter to just the Crashlytics-specific output like this: > ./gradlew app:assembleRelease --debug | grep "\[com.google.firebase.crashlytics\]"

(Replace app:assembleRelease above with the appropriate task name.)

If you are not running the default assemble or bundle Android Gradle plugin tasks, it is possible that the Crashlytics mapping file upload task is not being automatically scheduled by our plugin. If that’s the case, you can try explicitly running the module’s uploadCrashlyticsMappingFile<VARIANT> task from the command line. If that seems to work but you’re seeing incorrect stack traces, we may need to do a little more work to configure the task dependencies correctly.

If you are not comfortable sharing your Gradle output or more details about your build config publicly, please feel free to email Firebase support and reference this issue.

0reactions
google-oss-botcommented, Apr 4, 2022

Since there haven’t been any recent updates here, I am going to close this issue.

@mitchell-ibarra if you’re still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Crashlytics and obfuscated Flutter stack traces - dart
1 Answer 1 ... Mapping files to deobfuscate Android stacktraces on Crashlytics can be uploaded automatically by configuring firebaseCrashlytics.
Read more >
Deobfuscate or symbolicate crash stack traces - Google Help
You can review deobfuscated stack traces for individual crashes and ANRs on your app's Crashes & ANRs page. Open Play Console.
Read more >
Obfustication, stack traces and Crashlytics (1.07) - Medium
Obfustication, stack traces and Crashlytics (1.07). Haven't written in a little while now that the app is out and working as “mostly” intended....
Read more >
Get readable crash reports in the Crashlytics dashboard
By default, Firebase Crashlytics automatically processes your debug symbol (dSYM) files to give you deobfuscated and human-readable crash reports.
Read more >
Crashlytics error reporting does not retrace line numbers ...
The current implementation of stack trace retracing (de-obfuscation) in Crashlytics does not handle line number remapping.
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