Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Play Console Stack Trace

In Google Play Console, I am getting the below exception trace. Although I have added deobfuscation files, the line numbers are being displayed as 0.

java.lang.NullPointerException: at com.ae.apps.common.managers.ContactManager.getContactIdFromAddress(ContactManager.java:0) at com.ae.apps.messagecounter.utils.MessageCounterUtils.sortThisMap(MessageCounterUtils.java:0) at <OR>.getMessageCountDegrees(MessageCounterUtils.java:0) at <OR>.getContactMessageList(MessageCounterUtils.java:0) at <OR>.convertAddressToContact(MessageCounterUtils.java:0) at <OR>.getIndexFromDate(MessageCounterUtils.java:0) at <OR>.getWeekStartDate(MessageCounterUtils.java:0) at <OR>.getMessageLimitValue(MessageCounterUtils.java:0) at <OR>.getCycleSentCount(MessageCounterUtils.java:0) at com.ae.apps.messagecounter.activities.MainActivity$1.run(MainActivity.java:0) at java.lang.Thread.run(Thread.java:818)

I dont't understand what this <OR> statements in the stack trace. The ContactManager.getContactIdFromAddress() is only called from the method MessageCounterUtils.convertAddressToContact().

How to properly understand this stack trace?

I believe I have added the necessary Null checks in the above method anyways.

https://github.com/midhunhk/ae-apps-library/blob/master/app/src/main/java/com/ae/apps/common/managers/ContactManager.java#L377

like image 841
midhunhk Avatar asked May 24 '17 09:05

midhunhk


People also ask

How do you Deobfuscate stack trace?

Get deobfuscated crash stacktrace from your app pageSign in to your Play Console. Select an app. On the left menu, click Android vitals > Deobfuscation files. Next to a version of your app, click Upload.

What is a retrace mapping file?

R8 retrace is a tool for obtaining the original stack trace from an obfuscated stack trace. The stack trace is reconstructed by matching class and method names in a mapping file to their original definitions.


2 Answers

I believe you're running into the same issue answered in this question: Android ProGuard return Line Number

Proguard doesn't keep the line numbers by default.

like image 56
Patrick Avatar answered Oct 05 '22 22:10

Patrick


How to properly understand this stack trace?

< OR > literally means "OR". When stack trace is created for some lines of it there are several possibilities (LineNumberTable is missing or it is corrupted?) so they are printed with this prefix.

like image 25
sim Avatar answered Oct 06 '22 00:10

sim