Closed
Description
If an app has no Proguard/R8 rule to keep Exception class names, then stacktraces on the website will miss the original class name.
it.ninniuz.myapplication.a: null
at it.ninniuz.myapplication.MainActivity.onCreate(MainActivity.kt:22)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Excerpt from the JSON event:
"exception": {
"values": [
{
"stacktrace": {},
"type": "a",
"module": "it.ninniuz.myapplication"
}
]
}
Note that the proguard mapping file has got a reference to this class hence Sentry's symbolic
module could be able to de-obfuscate this reference:
it.ninniuz.myapplication.CustomException -> it.ninniuz.myapplication.a:
26:26:void <init>() -> <init>
I have tested de-obfuscating this class reference using the symbolic
python module and this is indeed true.
It seems like Sentry backend service is not even trying to resolve <module>.<type>
from exception.values
items, but just stacktrace frames individually.
I have got a very simple project setup on sentry.io
to reproduce the issue, if needed.
Metadata
Metadata
Assignees
Labels
No labels