Reading deobfuscated stack trace reports in Play console


#1

I have a stack trace in my Play app (fortunately, it’s alpha testing) that doesn’t look like it’s a valid codepath through the source. Do I have to take these stack traces with a grain of salt?

I guess Proguard can transform the code, and Kotlin generating JVM classes may not match up so well. But in this stack trace I see this juggle between 2 functions, that don’t call each other. I was just hoping there’s a good way to tell which function was actually called… onResponse, or onErrorResponse, neither calls the other.

kotlin.KotlinNullPointerException: 	at letstwinkle.com.twinkle.LoginActivity$continueFederated$1.onResponse(LoginActivity.java)
 
  at <OR> letstwinkle.com.twinkle.LoginActivity$continueFederated$1.onResponse (LoginActivity.java)
 
  at <OR> letstwinkle.com.twinkle.LoginActivity$continueFederated$1.onErrorResponse (LoginActivity.java)
 
  at letstwinkle.com.twinkle.LoginActivity$continueFederated$1.onResponse (LoginActivity.java)
 
  at <OR> letstwinkle.com.twinkle.LoginActivity$continueFederated$1.onResponse (LoginActivity.java)
 
  at <OR> letstwinkle.com.twinkle.LoginActivity$continueFederated$1.onErrorResponse (LoginActivity.java)
 
  at letstwinkle.com.twinkle.mock.ServiceMock$MockAsyncTask.doInBackground (ServiceMock.java)
 
  at <OR> letstwinkle.com.twinkle.mock.ServiceMock$MockAsyncTask.onPostExecute (ServiceMock.java)
 
  at letstwinkle.com.twinkle.mock.ServiceMock$MockAsyncTask.onPostExecute (ServiceMock.java)
 
  at android.os.AsyncTask.finish (AsyncTask.java:651)
 
  at android.os.AsyncTask.-wrap1 (AsyncTask.java)
 
  at android.os.AsyncTask$InternalHandler.handleMessage (AsyncTask.java:668)
 
  at android.os.Handler.dispatchMessage (Handler.java:102)
 
  at android.os.Looper.loop (Looper.java:148)
 
  at android.app.ActivityThread.main (ActivityThread.java:5422)
 
  at java.lang.reflect.Method.invoke (Method.java)
 
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
 
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)

#2

This is a consequence of [Stacktrace points to line after end of file?], It should be possible to map it back, but I’m not sure how to go about it. I’m not sure that there is a standalone way to reverse the stacktrace.