Reproduction steps for issue: software-mansion/react-native-screens#1287 Reference for @WoLewicki
Intention:
App opens with initial route First
. After a second, navigate
to another screen containing a View
, BlurView
and Text
.
Result:
App crashes with the following exceptions
App.tsx
file also has a BlurView
but the app wont crash. AppCrash.tsx
will crash
2022-03-22 16:30:16.893 6330-6330/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.rnscreensblurviewcrash, PID: 6330
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:277)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:295)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:226)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.draw(View.java:20376)
at eightbitlab.com.blurview.BlockingBlurController.updateBlur(BlockingBlurController.java:149)
at eightbitlab.com.blurview.BlockingBlurController.draw(BlockingBlurController.java:225)
at eightbitlab.com.blurview.BlurView.draw(BlurView.java:51)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20376)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:304)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:14)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:325)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:278)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:295)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:226)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.draw(View.java:20376)
at eightbitlab.com.blurview.BlockingBlurController.updateBlur(BlockingBlurController.java:149)
at eightbitlab.com.blurview.BlockingBlurController.draw(BlockingBlurController.java:225)
at eightbitlab.com.blurview.BlurView.draw(BlurView.java:51)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
2022-03-22 16:30:16.898 6330-6330/? E/AndroidRuntime: at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20376)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:304)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:14)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:325)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:278)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:295)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:226)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.draw(View.java:20376)
at eightbitlab.com.blurview.BlockingBlurController.updateBlur(BlockingBlurController.java:149)
at eightbitlab.com.blurview.BlockingBlurController.draw(BlockingBlurController.java:225)
at eightbitlab.com.blurview.BlurView.draw(BlurView.java:51)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20376)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:304)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:14)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:325)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:278)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:295)
2022-03-22 16:30:16.901 6330-6330/? E/AndroidRuntime: at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:226)
at android.view.View.draw(View.java:20236)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.draw(View.java:20376)
at eightbitlab.com.blurview.BlockingBlurController.updateBlur(BlockingBlurController.java:149)
at eightbitlab.com.blurview.BlockingBlurController.draw(BlockingBlurController.java:225)
at eightbitlab.com.blurview.BlurView.draw(BlurView.java:51)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:20376)
at android.view.View.updateDisplayListIfDirty(View.java:19318)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.View.draw(View.java:20096)
at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:304)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:14)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:325)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:278)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:295)
at android.view.View.updateDisplayListIfDirty(View.java:19309)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
2022-03-22 16:30:16.903 6330-6330/? E/AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19277)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:800)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:3496)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3283)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2818)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1780)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7827)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)