How to debug a Flutter app's crash from the provided stack trace in Google Play Console?
Asked Answered
G

1

10

I have published a Flutter app on Play Store that reports crashes from time to time. To build it for release, I used obfuscation as described here with the command:

flutter build apk --obfuscate --split-debug-info=build/app/outputs/symbols

Now in Play Console I get a stack trace from an occurring crash like:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.package.name <<<

backtrace:
  #00  pc 00000000000744b0  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
  #00  pc 00000000002bc350  /data/app/com.package.name-CelqfOPR1qgCAOmLM1XLVg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libflutter.so (offset 0x5cc000)
  #00  pc 00000000002b29c0  /data/app/com.package.name-CelqfOPR1qgCAOmLM1XLVg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libflutter.so (offset 0x5cc000)
  #00  pc 0000000000000001  <unknown>

where 'package.name' is the package name of my app.

How do I deobfuscate/symbolize this stack trace?

I already tried using the flutter symbolize command for the appropriate architecture, as recommended:

flutter symbolize -i err.txt -d app.android-arm64.symbols

but it just prints again the err.txt file (the stack trace).

Is there something I am missing in the whole process of debugging Flutter crash reports on Android?

Gorlicki answered 11/1, 2021 at 13:34 Comment(2)
Did you figure it out? I'm having the same issueBanbury
No, and I haven't tried again sinceGorlicki
O
0

I also had the same problem. My crash stack like:

Fatal Exception: java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.nextNode(HashMap.java:1441)
   at java.util.HashMap$EntryIterator.next(HashMap.java:1475)
   at java.util.HashMap$EntryIterator.next(HashMap.java:1473)
   at h.d.d.w.m.g$a.e(:29)
   at h.d.d.w.m.g$a.c(:2)
   at h.d.d.e.p(:34)
   at h.d.d.e.q(:8)
   at h.d.d.e.m(:5)
   at h.d.d.e.l(:13)
   at h.f.a.a.x(:7)
   at h.f.a.a.r(:91)
   at h.f.a.a.j()
   at h.f.a.a$e.run(:45)

I use flutter symbolize command.but it just prints again the error.txt file.

I haven't found an answer yet.

Oxcart answered 8/4, 2022 at 9:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.