In some Firebase crash reports, I have crashes where the source is not clear from the data in the Firebase console. For example, if an activity crashed and none of the stack frames appear to be from my app. The stack traces don't provide any useful information.
An example of such a crash in the console:
The stack trace:
android.graphics.Paint.getTextRunCursor (Paint.java:2160)
android.graphics.Paint.getTextRunCursor (Paint.java:2112)
android.widget.Editor.getNextCursorOffset (Editor.java:924)
android.widget.Editor.access$4700 (Editor.java:126)
android.widget.Editor$SelectionEndHandleView.positionAndAdjustForCrossingHandles (Editor.java:4708)
android.widget.Editor$SelectionEndHandleView.updatePosition (Editor.java:4692)
android.widget.Editor$HandleView.onTouchEvent (Editor.java:4012)
android.widget.Editor$SelectionEndHandleView.onTouchEvent (Editor.java:4726)
android.view.View.dispatchTouchEvent (View.java:9377)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2554)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2255)
android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent (PopupWindow.java:2015)
android.view.View.dispatchPointerEvent (View.java:9597)
android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:4234)
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:4100)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3646)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:3699)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3665)
android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:3791)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:3673)
android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:3848)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3646)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:3699)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3665)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:3673)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3646)
android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:5926)
android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:5900)
android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:5861)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:6029)
android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)
android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (InputEventReceiver.java)
android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:176)
android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:6000)
android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:6052)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:858)
android.view.Choreographer.doCallbacks (Choreographer.java:670)
android.view.Choreographer.doFrame (Choreographer.java:600)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:844)
android.os.Handler.handleCallback (Handler.java:739)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:234)
android.app.ActivityThread.main (ActivityThread.java:5526)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
I'm not sure how to debug this because, as above, the entire stack trace never passes through my app so I have no idea where to look.