Closed sllam closed 7 years ago
Mystery solved: App code was not instrumented even though instrumentation ran without problems.
Reason: This is a google sample app, packaged in com.google.samples... Instrumenter treated it as framework code.
Next step: Edmund will change the sample app code's package name.
Reopening this.. back from the dead. Peilun renamed package to edu.colorado.plv.apps.topeka , https://github.com/cuplv/callback-verification/tree/tests/tests/realApplications/android-topeka-cuplv . Instrumentation still not responding.
Rerun this Topeka app. Apparently I made a mistake, must have ran the old version instead. However, the new old is now throwing this error:
02-16 11:12:35.375 9565-9565/edu.colorado.plv.apps.topeka E/AndroidRuntime: FATAL EXCEPTION: main Process: edu.colorado.plv.apps.topeka, PID: 9565 java.lang.RuntimeException: methodName: getOutline objects: [Ljava.lang.Class;@efee81b types: [Ljava.lang.String;@d233db8 at edu.colorado.plv.tracerunner_runtime_instrumentation.FrameworkResolver.getFrameworkOverride(FrameworkResolver.java:425) at edu.colorado.plv.tracerunner_runtime_instrumentation.FrameworkResolver.getFrameworkOverrideMemo(FrameworkResolver.java:349) at edu.colorado.plv.tracerunner_runtime_instrumentation.TraceRunnerRuntimeInstrumentation.logCallbackEntry(TraceRunnerRuntimeInstrumentation.java:158) at edu.colorado.plv.apps.topeka.widget.outlineprovider.RoundOutlineProvider.getOutline(RoundOutlineProvider.java) at android.view.View.rebuildOutline(View.java:12135) at android.view.View.invalidateDrawable(View.java:16790) at android.widget.ImageView.invalidateDrawable(ImageView.java:248) at edu.colorado.plv.apps.topeka.widget.fab.FloatingActionButton.invalidateDrawable(FloatingActionButton.java) at edu.colorado.plv.apps.topeka.widget.fab.DoneFab.invalidateDrawable(DoneFab.java) at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:385) at android.graphics.drawable.RippleDrawable.invalidateSelf(RippleDrawable.java:705) at android.graphics.drawable.RippleDrawable.cancelExitingRipples(RippleDrawable.java:233) at android.graphics.drawable.RippleDrawable.jumpToCurrentState(RippleDrawable.java:217) at android.view.View.jumpDrawablesToCurrentState(View.java:17162) at android.widget.ImageView.jumpDrawablesToCurrentState(ImageView.java:223) at edu.colorado.plv.apps.topeka.widget.fab.FloatingActionButton.jumpDrawablesToCurrentState(FloatingActionButton.java) at edu.colorado.plv.apps.topeka.widget.fab.DoneFab.jumpDrawablesToCurrentState(DoneFab.java) at android.view.View.onAttachedToWindow(View.java:14043) at android.widget.ImageView.onAttachedToWindow(ImageView.java:1475) at edu.colorado.plv.apps.topeka.widget.fab.FloatingActionButton.onAttachedToWindow(FloatingActionButton.java) at edu.colorado.plv.apps.topeka.widget.fab.DoneFab.onAttachedToWindow(DoneFab.java) at android.view.View.dispatchAttachedToWindow(View.java:14514) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1364) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NoSuchMethodException: getOutline [class android.view.View, class android.graphics.Outline] at java.lang.Class.getMethod(Class.java:624) at java.lang.Class.getDeclaredMethod(Class.java:586) at edu.colorado.plv.tracerunner_runtime_instrumentation.FrameworkResolver.getFrameworkOverride(FrameworkResolver.java:421) at edu.colorado.plv.tracerunner_runtime_instrumentation.FrameworkResolver.getFrameworkOverrideMemo(FrameworkResolver.java:349) at edu.colorado.plv.tracerunner_runtime_instrumentation.TraceRunnerRuntimeInstrumentation.logCallbackEntry(TraceRunnerRuntimeInstrumentation.java:158) at edu.colorado.plv.apps.topeka.widget.outlineprovider.RoundOutlineProvider.getOutline(RoundOutlineProvider.java) at android.view.View.rebuildOutline(View.java:12135) at android.view.View.invalidateDrawable(View.java:16790) at android.widget.ImageView.invalidateDrawable(ImageView.java:248) at edu.colorado.plv.apps.topeka.widget.fab.FloatingActionButton.invalidateDrawable(FloatingActionButton.java) at edu.colorado.plv.apps.topeka.widget.fab.DoneFab.invalidateDrawable(DoneFab.java) at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:385) at android.graphics.drawable.RippleDrawable.invalidateSelf(RippleDrawable.java:705) at android.graphics.drawable.RippleDrawable.cancelExitingRipples(RippleDrawable.java:233) at android.graphics.drawable.RippleDrawable.jumpToCurrentState(RippleDrawable.java:217) at android.view.View.jumpDrawablesToCurrentState(View.java:17162) at android.widget.ImageView.jumpDrawablesToCurrentState(ImageView.java:223) at edu.colorado.plv.apps.topeka.widget.fab.FloatingActionButton.jumpDrawablesToCurrentState(FloatingActionButton.java) at edu.colorado.plv.apps.topeka.widget.fab.DoneFab.jumpDrawablesToCurrentState(DoneFab.java) at android.view.View.onAttachedToWindow(View.java:14043) at android.widget.ImageView.onAttachedToWindow(ImageView.java:1475) at edu.colorado.plv.apps.topeka.widget.fab.FloatingActionButton.onAttachedToWindow(FloatingActionButton.java) at edu.colorado.plv.apps.topeka.widget.fab.DoneFab.onAttachedToWindow(DoneFab.java) at android.view.View.dispatchAttachedToWindow(View.java:14514) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1364) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417)
Fixed with overrideImpMissing
This app: https://github.com/cuplv/callback-verification/tree/tests/tests/realApplications/android-topeka/bug/android-topeka
Compiles and instruments fine.
However, when you run the instrumented app to try to get a trace, gracefully terminating the app doesn't unblock the netcat process: No trace data is received by the process..
Also tried starting the instrumented app without the nc bridge at 5050. App starts without throwing exception (It should crash if you do this)