App: [$2000] Investigate: 💥 Crash 💥 `com.facebook.react.views.view.ReactViewGroup.dispatchDraw`

Firebase has reported a new crash that we need to fix, here are all the details we found:

Fatal Exception: java.lang.IndexOutOfBoundsException

getChildDrawingOrder() returned invalid index 3 (child count is 3)

ReactViewGroup.java line 755 com.facebook.react.views.view.ReactViewGroup.dispatchDraw

Number of Crashes: 10

Device Information

  • Platforms: Android
  • App Versions: 1.1.95-4
  • Devices: samsung SM-M315F 12

Stacktraces

Android 1.1.95-4
android.view.ViewGroup.getAndVerifyPreorderedIndex (ViewGroup.java:2125)
android.view.ViewGroup.dispatchDraw (ViewGroup.java:5108)
com.facebook.react.views.view.ReactViewGroup.dispatchDraw (ReactViewGroup.java:755)
android.view.View.updateDisplayListIfDirty (View.java:22753)
android.view.View.draw (View.java:23628)
android.view.ViewGroup.drawChild (ViewGroup.java:5355)
android.view.ViewGroup.dispatchDraw (ViewGroup.java:5112)
android.view.View.draw (View.java:23901)
android.widget.ScrollView.draw (ScrollView.java:2846)
com.facebook.react.views.scroll.ReactScrollView.draw (ReactScrollView.java:575)
android.view.View.updateDisplayListIfDirty (View.java:22767)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:5339)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:5311)
android.view.View.updateDisplayListIfDirty (View.java:22714)
android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:602)
android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:608)
android.view.ThreadedRenderer.draw (ThreadedRenderer.java:684)
android.view.ViewRootImpl.draw (ViewRootImpl.java:5414)
android.view.ViewRootImpl.performDraw (ViewRootImpl.java:5122)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:4186)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2893)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:10445)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:1108)
android.view.Choreographer.doCallbacks (Choreographer.java:866)
android.view.Choreographer.doFrame (Choreographer.java:797)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1092)
android.os.Handler.handleCallback (Handler.java:938)
android.os.Handler.dispatchMessage (Handler.java:99)
android.os.Looper.loopOnce (Looper.java:226)
android.os.Looper.loop (Looper.java:313)
android.app.ActivityThread.main (ActivityThread.java:8663)
java.lang.reflect.Method.invoke
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:567)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)

Internal Firebase Info

💥 DO NOT EDIT THIS SECTION 💥

Crash IDs: 884b426db2878b1a91b58dc4ef4762cd Exception: getChildDrawingOrder() returned invalid index 3 (child count is 3)

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 19 (10 by maintainers)

Most upvoted comments

The title we have now looks fine.

I think that’s per the new process. In any case, I’m going to double the price of this issue so that hopefully proposals start coming in.

Not sure why Melvin bumped this to daily—maybe because I used the p-word in my last comment. Anyway, back to weekly while we wait.

Job posted https://www.upwork.com/jobs/~019ecf14b149914233

@rushatgabhane @deetergp , the title of the issue is long and (maybe) not the most clear. I updated it to this, let me know if you’d recommend something else

Investigate: 💥 Crash 💥 Android React Native. ReactViewGroup #10755 - Expensify