App icon indicating copy to clipboard operation
App copied to clipboard

[$1,000] Investigate: 💥 Crash 💥 `com.facebook.react.uimanager.ViewGroupDrawingOrderHelper.getChildDrawingOrder`

Open melvin-bot[bot] opened this issue 2 years ago • 18 comments

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

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException

length=4; index=4

ViewGroupDrawingOrderHelper.java line 99 com.facebook.react.uimanager.ViewGroupDrawingOrderHelper.getChildDrawingOrder

Number of Crashes: 234

Device Information

  • Platforms: Android
  • App Versions: 1.1.91-1
  • Devices: samsung SM-S908E 12

Stacktraces

Android 1.1.91-1
com.facebook.react.uimanager.ViewGroupDrawingOrderHelper.getChildDrawingOrder (ViewGroupDrawingOrderHelper.java:99)
com.facebook.react.views.view.ReactViewGroup.getChildDrawingOrder (ReactViewGroup.java:502)
android.view.ViewGroup.getAndVerifyPreorderedIndex (ViewGroup.java:2123)
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.View.draw (View.java:23628)
android.view.ViewGroup.drawChild (ViewGroup.java:5355)
com.facebook.react.views.view.ReactViewGroup.drawChild (ReactViewGroup.java:783)
android.view.ViewGroup.dispatchDraw (ViewGroup.java:5112)
com.facebook.react.views.view.ReactViewGroup.dispatchDraw (ReactViewGroup.java:755)
android.view.View.updateDisplayListIfDirty (View.java:22753)
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:5440)
android.view.ViewRootImpl.performDraw (ViewRootImpl.java:5148)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:4212)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2919)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:10491)
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:8669)
java.lang.reflect.Method.invoke
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)

Internal Firebase Info

💥 DO NOT EDIT THIS SECTION 💥

Crash IDs: 7fa6ff6670fc360c119eba1c969c9039 Exception: length=4; index=4

melvin-bot[bot] avatar Sep 01 '22 06:09 melvin-bot[bot]

Triggered auto assignment to @jboniface (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

melvin-bot[bot] avatar Sep 01 '22 06:09 melvin-bot[bot]

job post

jboniface avatar Sep 02 '22 17:09 jboniface

Triggered auto assignment to Contributor-plus team member for initial proposal review - @Santhosh-Sellavel (Exported)

melvin-bot[bot] avatar Sep 02 '22 17:09 melvin-bot[bot]

Triggered auto assignment to @roryabraham (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

melvin-bot[bot] avatar Sep 02 '22 17:09 melvin-bot[bot]

I think this was the deploy blocker we fixed last Friday: https://github.com/Expensify/App/issues/10751

Closing this out

roryabraham avatar Sep 05 '22 09:09 roryabraham

This crash occurred again and has not been fully fixed, reopening issue 🔄

melvin-bot[bot] avatar Sep 05 '22 09:09 melvin-bot[bot]

increased to $500

jboniface avatar Sep 14 '22 15:09 jboniface

Triggered auto assignment to @NicMendonca (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

melvin-bot[bot] avatar Sep 15 '22 17:09 melvin-bot[bot]

@NicMendonca, @roryabraham, @Santhosh-Sellavel Whoops! This issue is 2 days overdue. Let's get this updated quick!

melvin-bot[bot] avatar Sep 19 '22 06:09 melvin-bot[bot]

Waiting for proposals

Santhosh-Sellavel avatar Sep 19 '22 07:09 Santhosh-Sellavel

doubled price: https://www.upwork.com/jobs/~01bf7a0d3546a30010

NicMendonca avatar Sep 26 '22 13:09 NicMendonca

@NicMendonca Let's cap the issue here. It's not clear what's causing this or how it's actually affecting any users.

roryabraham avatar Sep 26 '22 22:09 roryabraham

Still waiting for proposals

NicMendonca avatar Oct 05 '22 12:10 NicMendonca

@roryabraham Can you check if there is any latest occurrence of this crash, also share any additional info & latest stacktrace if there is a diff?

Santhosh-Sellavel avatar Oct 05 '22 13:10 Santhosh-Sellavel

Waiting for proposals.

@roryabraham What's the latest occurrence of this issue can you check in Crashlytics?

Santhosh-Sellavel avatar Oct 14 '22 17:10 Santhosh-Sellavel

@roryabraham bump ☝️

NicMendonca avatar Oct 21 '22 11:10 NicMendonca

I don't see any recent occurrences of this crash, closing it out.

roryabraham avatar Oct 24 '22 09:10 roryabraham

This crash occurred again and has not been fully fixed, reopening issue 🔄

melvin-bot[bot] avatar Nov 11 '22 13:11 melvin-bot[bot]

@Julesssss To help clear out the extensive backlog of /App bugs, we're putting the spotlight on all bugs older than 4 weeks old. To help unblock the roadmap and get our bug pipeline back in equilibrium, can you:

  • Decide whether any proposals currently meet our guidelines and can be approved as-is
  • For any that can't, please take this issue internal and treat it as one of your highest priorities
  • If you have any questions, don't hesitate to start a discussion in #bug-zero

Thanks everyone!

JmillsExpensify avatar Nov 17 '22 21:11 JmillsExpensify

@roryabraham In addition to that message above, feel free to close this issue out again. We are soon deprecating these automated Firebase issues anyway.

JmillsExpensify avatar Nov 17 '22 21:11 JmillsExpensify

I am closing this issue because we are no longer focusing on Firebase reported crashes. If this crash is reproducible, please report it in #expensify-bugs in Slack.

AndrewGable avatar Nov 17 '22 22:11 AndrewGable