-
-
Notifications
You must be signed in to change notification settings - Fork 492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recording currently in progress - missing #endRecording() call #1287
Comments
Hey! 👋 It looks like you've omitted a few important sections from the issue template. Please complete Reproduction section. |
I found the reason why it happens, on the main page I have a blur effect on, and when I go back to this page which is the main page, the app crashes.
|
Unfortunately, we cannot say much about this without a reproduction such as a snack or a simple repo. |
This issue happens due to React Native Blur. Repo issue can be found here: Most of the react-navigation 6 users are facing this issue. The crash log is same for everyone. For me, the App will crash on android if it has blur view. I tried to mount the blur view after a delay but the crash still happens. Example 1: In the navigator. Works fine on iOS but crashes on Android
Example 2: In Main screen, the app crashes also
I tried to remove the blur view from Navigator and used in the main screen only but the problem still persist |
@mjm918 can you put the code in a form of a simple repo or a snack? We will be then able to easily reproduce the problem and collaborate. |
Hi @WoLewicki sorry for late, I was a bit occupied. I have created a repo here https://github.com/mjm918/RNScreensBlurViewCrash-Repro Hope it will be helpful. Thank you |
If you look at Kureev/react-native-blur Readme, there is a section:
So there's another library that's specifically tailored to Android for Blurview. It's less than ideal, but it's a solution. |
Hi @WoLewicki did you manage to check the issue? |
same probleme , any solutions here..? |
@YunsGeek no solution yet. stuck here for last 1 month. I'm using a transparent view on android instead of blurview. and my android app looks super ugly |
I made a PR trying to solve this behavior with an explanation of what is happening under the hood: #1406. Could you check if it resolves the issue and does not introduce any new ones? |
Thank you so much @WoLewicki . I tried your commit just now and the app crashed with the following exception:
|
@mjm918 does this happen in the repo you provided? I couldn't spot such an issue there. Do you have an easy reproduction of this? |
Hi @WoLewicki thank you for your fast response. I think I found the root cause. The app will not crash if there is single blurview. I have updated the reproduction code here: https://github.com/mjm918/RNScreensBlurViewCrash-Repro In the Code, I tried to create blurview with Array map and the app crashed. |
This PR fixed the crash for me. I did not attempt with multiple blurviews though. |
Does this changed code work in the simple case though @mjm918 ? I mean if you added it here: https://github.com/mjm918/RNScreensBlurViewCrash-Repro/blob/226a0a86e631cc0844f6fdd97df14c141aabb3d1/App.tsx. Cause it does not work for me due to probably recursive calls for updating blur from the |
Hi @WoLewicki in simple case like, 1 BlurView in 1 screen will work. But multiple blurview in a screen causes the crash |
So, if there is a 1 BlurView, #1406 fixes the issue, and if there are multiple BlurViews, the app will crash anyway, doesn't matter if with |
Sorry for late reply. I haven't tried the blurview without react-native-screens. that's why i cant really agree with this statement "doesn't matter if with react-native-screens or not". What I found in some discussion is that people started experiencing this crash after upgrading react-navigation to v6. |
I looks like an older issue: Kureev/react-native-blur#368. I think we cannot do anything more in our library than what #1406 does. I will merge it and close this issue then. Feel free to comment here if I am missing something and we can always reopen it. |
@WoLewicki can we have a new release with the fix? |
@LautaroNavarro sorry for late reply. We are planning on releasing new version when we end the Fabric integration of |
thanks, after updating to latest react-native-screens problem has gone! |
still got this crash |
tried with: "react-native-screens": "^3.17.0", but the issue is still there. My issue - Android crash when navigating to another screen that have |
Recording currently in progress - missing #endRecording() call
Description
App crashes during navigation in Android
Steps To Reproduce
Screenshots
video.bug.mp4
Platform
Log
java.lang.IllegalStateException: Recording currently in progress - missing #endRecording() call?
at android.graphics.RenderNode.beginRecording(RenderNode.java:372)
at android.view.View.updateDisplayListIfDirty(View.java:21199)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:322)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:15)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:343)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:296)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:313)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22353)
at android.view.View.draw(View.java:22223)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22353)
at android.view.View.draw(View.java:22223)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22353)
at android.view.View.draw(View.java:22223)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:322)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:15)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:343)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:296)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:313)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:225)
at android.view.View.draw(View.java:22221)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.draw(View.java:22353)
at eightbitlab.com.blurview.BlockingBlurController.updateBlur(BlockingBlurController.java:122)
at eightbitlab.com.blurview.BlockingBlurController.draw(BlockingBlurController.java:164)
at eightbitlab.com.blurview.BlurView.draw(BlurView.java:51)
at android.view.View.updateDisplayListIfDirty(View.java:21226)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22353)
at android.view.View.updateDisplayListIfDirty(View.java:21226)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22353)
at android.view.View.updateDisplayListIfDirty(View.java:21226)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.updateDisplayListIfDirty(View.java:21217)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.updateDisplayListIfDirty(View.java:21217)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:322)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:15)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:343)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:296)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:313)
at android.view.View.updateDisplayListIfDirty(View.java:21217)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:772)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:744)
at android.view.View.draw(View.java:22353)
at android.view.View.updateDisplayListIfDirty(View.java:21226)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.updateDisplayListIfDirty(View.java:21217)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.updateDisplayListIfDirty(View.java:21217)
at android.view.View.draw(View.java:22081)
at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
at android.view.View.updateDisplayListIfDirty(View.java:21217)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473)
at android.view.View.updateDisplayListIfDirty(View.java:21186)
Package versions
The text was updated successfully, but these errors were encountered: