Partly missing deobfuscation for Android crash logs (Exception message)

Sarah Will's Avatar

Sarah Will

21 Apr, 2017 10:16 AM

Hello,

We currently have a problem with one of our projects regarding the complete deobfuscation of crash logs in Hockey for an Android app.

Background: The release version of the app is obfuscated via Proguard, and the correct mapping.txt File has been uploaded to the respective version page in Hockey. It is complete and also contains the mappings that are not correctly deobfuscated.

More precisely: Most of the crash logs are correctly deobfuscated, but there are some that display method names in their obfuscated form. A simple example of such a crash log (real packages/method names changed):

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Double com.app.randompackage.Data.g()' on a null object reference
    at com.app.randompackage.SomeActivity.updateItemInfo(SomeActivity.java)
    at com.app.randompackage.SomeActivity.initViews(SomeActivity.java)
                                                               loadItemInfo(SomeActivity.java)
                                                               access$100(SomeActivity.java)
    at com.app.randompackage.SomeActivity$OnCustomButtonClickListener.onButtonClicked(SomeActivity.java)
    at com.app.view.CustomButton$1.onClick(CustomButton.java)
    at android.view.View.performClick(View.java:5184)
    at android.view.View$PerformClick.run(View.java:20893)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:5938)
    at java.lang.reflect.Method.invoke(Method.java)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)

All the other methods, like "updateItemInfo" and "initViews" are correctly deobfuscated, except for the method "Data.getData()", which
is still displayed in obfuscated form as "g()". It is, however, correctly contained in the mapping.txt File:

com.app.anotherrandompackage.Data -> com.app.anotherrandompackage.Data:
    (...)
    java.lang.Double getData() -> g

Any idea as to why this is happening? As the method name is part of the exception message, are those simply not checked for obfuscated code parts and contained in the stack trace "as is"?

  1. Support Staff 1 Posted by Thomas Dohmke on 21 Apr, 2017 02:54 PM

    Thomas Dohmke's Avatar

    Hi Sarah,

    HockeyApp currently does not support the de-obfuscation of the exception message.

    Best,

    Thomas

  2. Shawn Dyas closed this discussion on 28 Apr, 2017 03:53 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac