Skip to content

mjm918/RNScreensBlurViewCrash-Repro

Repository files navigation

RNScreensBlurViewCrash-Repro

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)

About

Reproduction for #react-native-screens/issues/1287

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published