View.dispatchTouchEvent StackOverflowError in Android App

Viewed 315

I have an android app where I see the following exception relatively often via crashlytics (firebase). Unfortunately I have no idea where in the lifecycle this error occurs and if this exception is bad for the user. I would like to find out, at which interaction this exception happens and where in my code I should start for further analysis. My app shows a Google Maps map with routes and waypoints. I use markers with bitmaps, which implement certain functionality. The stacktrace shows that dispatchTouchEvent() is not handled properly by an instance, so the event probably remains unhandled in a loop until the StackOverflowError occurs. I have suspected the onMarkerClick() method before, but I have checked it and made sure that true/false is handled and returned properly. Can you help me to better isolate the cause? Other questions about this topic here could not help me yet.

 Fatal Exception: java.lang.StackOverflowError: stack size 8192KB
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.a.a(a.java:2)
   at com.google.maps.api.android.lib6.impl.gesture.l.a(l.java:5)
   at com.google.maps.api.android.lib6.impl.gesture.h.b(h.java:17)
   at com.google.maps.api.android.lib6.impl.gesture.b.a(b.java:5)
   at com.google.maps.api.android.lib6.gmm6.vector.ae.onTouchEvent(ae.java)
   at android.view.View.dispatchTouchEvent(View.java:13503)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2766)
   at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:613)
   at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1933)
   at android.app.Activity.dispatchTouchEvent(Activity.java:4147)
   at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
   at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
   at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:559)
   at android.view.View.dispatchPointerEvent(View.java:13766)
   at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5824)
   at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5619)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5116)
   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5082)
   at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5239)
   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5090)
   at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5296)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5116)
   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5082)
   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5090)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
   at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7954)
   at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7905)
   at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7859)
   at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8144)
   at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:233)
   at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java)
   at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:215)
   at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:8071)
   at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8187)
   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1057)
   at android.view.Choreographer.doCallbacks(Choreographer.java:875)
   at android.view.Choreographer.doFrame(Choreographer.java:769)
   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1042)
   at android.os.Handler.handleCallback(Handler.java:888)
   at android.os.Handler.dispatchMessage(Handler.java:100)
   at android.os.Looper.loop(Looper.java:213)
   at android.app.ActivityThread.main(ActivityThread.java:8178)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
0 Answers
Related