Kureev / react-native-blur

React Native Blur component
MIT License
3.74k stars 555 forks source link

[Android] Fatal Exception: java.lang.IllegalArgumentException #489

Closed jineshmistry1312 closed 1 year ago

jineshmistry1312 commented 1 year ago

I am using @react-native-community/blur": "^4.2.0"

Getting below crash issue in Firebase Crashlytics.

image

Fatal Exception: java.lang.IllegalArgumentException: Software rendering doesn't support drawRenderNode
       at android.graphics.Canvas.drawRenderNode(Canvas.java:2317)
       at eightbitlab.com.blurview.RenderEffectBlur.render(RenderEffectBlur.java:2)
       at eightbitlab.com.blurview.PreDrawBlurController.draw(PreDrawBlurController.java:56)
       at eightbitlab.com.blurview.BlurView.draw(BlurView.java:2)
       at android.view.View.draw(View.java:23770)
       at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
       at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:23)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
       at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:3)
RRaideRR commented 1 year ago

I'm facing the same issue on Android API 32. On Android API 30 it's running fine.

jineshmistry1312 do you know if this problem occurs on Android or iOS for your users?

java.lang.IllegalArgumentException: Software rendering doesn't support drawRenderNode
at android.graphics.Canvas.drawRenderNode(Canvas.java:2317)
at eightbitlab.com.blurview.RenderEffectBlur.render(RenderEffectBlur.java:68)
at eightbitlab.com.blurview.PreDrawBlurController.draw(PreDrawBlurController.java:159)
at eightbitlab.com.blurview.BlurView.draw(BlurView.java:52)
at android.view.View.draw(View.java:22577)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at android.view.View.buildDrawingCacheImpl(View.java:21970)
at android.view.View.buildDrawingCache(View.java:21836)
at android.view.View.draw(View.java:22427)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22707)
at android.view.View.draw(View.java:22577)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:255)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at android.view.View.draw(View.java:22575)
at android.view.ViewGroup.drawChild(ViewGroup.java:4528)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4289)
at android.view.View.draw(View.java:22707)
at eightbitlab.com.blurview.PreDrawBlurController.updateBlur(PreDrawBlurController.java:115)
at eightbitlab.com.blurview.PreDrawBlurController$1.onPreDraw(PreDrawBlurController.java:50)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1093)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3362)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2179)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8787)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1037)
at android.view.Choreographer.doCallbacks(Choreographer.java:845)
at android.view.Choreographer.doFrame(Choreographer.java:780)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
vpillinger-highwater commented 1 year ago

The issues with BlurView appear to be Android specific.

invyctus92 commented 1 year ago

android 12 Galaxy S20+ (SM-G985F)

runtimeVersions: {
"androidApiLevel": "31",
"osBuild": "SP1A.210812.016.G985FXXUEFVG5",
"reactNative": "0.69.5",
"reactNativeJsEngine": "hermes" }

java.lang.IllegalArgumentException: Software rendering doesn't support drawRenderNode
        at android.graphics.Canvas.drawRenderNode(Canvas.java:2317)
        at eightbitlab.com.blurview.RenderEffectBlur.render(RenderEffectBlur.java:68)
        at eightbitlab.com.blurview.PreDrawBlurController.draw(PreDrawBlurController.java:159)
        at eightbitlab.com.blurview.BlurView.draw(BlurView.java:52)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23901)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.buildDrawingCacheImpl(View.java:23158)
        at android.view.View.buildDrawingCache(View.java:23024)
        at android.view.View.draw(View.java:23620)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23901)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23901)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23901)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23901)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23901)
        at android.view.View.draw(View.java:23770)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:783)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:755)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:291)
        at android.view.View.draw(View.java:23768)
        at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
        at android.view.View.draw(View.java:23901)
        at eightbitlab.com.blurview.PreDrawBlurController.updateBlur(PreDrawBlurController.java:115)
        at eightbitlab.com.blurview.PreDrawBlurController$1.onPreDraw(PreDrawBlurController.java:50)
        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1112)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4189)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2911)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10458)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1108)
        at android.view.Choreographer.doCallbacks(Choreographer.java:866)
        at android.view.Choreographer.doFrame(Choreographer.java:797)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8669)
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
HaidarZ commented 1 year ago

The issue appears on Android 12 devices and emulators.
It happens when I try to capture a viewshot using the following library react-native-view-shot

espenjanson commented 1 year ago

+1

erwing-bello-teamint commented 1 year ago

+2

beqramo commented 1 year ago

+1

ansumanshah commented 1 year ago

+1

ale-mazz commented 1 year ago

+1

PetrVasilev commented 1 year ago

+1

RickoNoNo3 commented 1 year ago

Android 12 (OPPO K9X) same issue.

It appears on the first rendering of BlurView's parent view. If I use effects or cdm lifecycles to maintain a state field called initialized, and the BlurView is rendered only when the state is set to true, it will work fine. (double initial rendering)

But obviously, that is not a permanently effectual solution, and does not consist with the current document.

artyorsh commented 1 year ago

Those who need a patch asap can try this (works for me, but use on your own risk)

Some details after research:

Kureev commented 1 year ago

@Titozzz Hi m8! Wondering if you can take a look at the issue. Seems this is something happening after the latest release, I'm not sure if I have enough context to address this one 🤔

Titozzz commented 1 year ago

@Kureev & everyone else here, I cannot reproduce this on real device / simulator running android 12. Please provide a a reproduction, I would like to address this. In the meantime @artyorsh patch is valid, but it's basically running the less optimised non hardware-accelerated variant all the time, but at least it's not crashing...

Kureev commented 1 year ago

Thank you for looking into this, @Titozzz!

Can someone provide a repro case for this one, please?

artyorsh commented 1 year ago

Yeah, that's a fair point...

@Titozzz I do not remember exact case, I think it was more about a matter of random. A month ago I've spent a few hours trying to catch the reason of the exception, but no luck. We have a couple of places in the app where Blur is used, and it doesn't throw in all of them

I can make a video recording if that can be somehow helpful

Titozzz commented 1 year ago

It will only throw in the case the canvas isn't hardware accelerated.. but when would this happen and how to detect it, I am unsure

RnbWd commented 1 year ago

I just upgraded my libraries from react-native 0.66 -> 0.70, and upgraded react-native-blur to the latest version, and I'm getting this issue on android emulator API 31

bastianspirek commented 1 year ago

Same problem on React native 0.68.2 and react-native-blur 4.3.0.

mk0116 commented 1 year ago

My app crashes under a certain condition 100%. In my case, I navigated to a screen with react-navigation and the screen has a scrollview with a blur view in it. When I pop the screen while the blur view is displaying, it crashes, but if the blur view is not displaying on the screen because I scrolled down or up then it doesn't crash. I hope this helps you guys figure out what's going on.

Titozzz commented 1 year ago

The android library author said he would try to release a new version with a fix, so we'll update when it's ready

miguflores commented 1 year ago

This is algo happening to me but only when I upgraded to react navigation 6:

before upgrade (working without crashes):

    "@react-navigation/bottom-tabs": "^5.10.6",
    "@react-navigation/drawer": "^5.10.6",
    "@react-navigation/native": "^5.8.6",
    "@react-navigation/stack": "^5.12.3",
    "react-native-safe-area-context": "^3.1.8",
    "react-native-screens": "^2.2.0",

after upgrade (crashes every time I open a screen with <BlurView /> component):

    "@react-navigation/bottom-tabs": "^6.3.3",
    "@react-navigation/drawer": "^6.4.4",
    "@react-navigation/native": "^6.0.12",
    "@react-navigation/stack": "^6.2.3",
    "react-native-safe-area-context": "^4.3.3",
    "react-native-screens": "^3.17.0",
Bayramito commented 1 year ago

BE0765F5-B546-463C-B736-D1F2A5B70E53

Same here . In my case its crashing in both android phone and simulator

Bayramito commented 1 year ago

This is algo happening to me but only when I upgraded to react navigation 6:

before upgrade (working without crashes):

  "@react-navigation/bottom-tabs": "^5.10.6",
  "@react-navigation/drawer": "^5.10.6",
  "@react-navigation/native": "^5.8.6",
  "@react-navigation/stack": "^5.12.3",
  "react-native-safe-area-context": "^3.1.8",
  "react-native-screens": "^2.2.0",

after upgrade (crashes every time I open a screen with <BlurView /> component):

    "@react-navigation/bottom-tabs": "^6.3.3",
    "@react-navigation/drawer": "^6.4.4",
    "@react-navigation/native": "^6.0.12",
    "@react-navigation/stack": "^6.2.3",
    "react-native-safe-area-context": "^4.3.3",
    "react-native-screens": "^3.17.0",

i am also facing the same kind of issue. For example i am going from screen A to B , then from B to C. But if i goBack from screen C to B it crashes every single time.

Bayramito commented 1 year ago

I think spotted the react-navigation related issue. So when you trying to navigate to a screen in a different navigation layer, meaning that for examle your navigation tree looks like

Main = Stack Navigator ( with different type of NAVIGATORS in it eg. PostsNavigator, BlogsNavigator) => and you have also shared screens in this Main stack, to be able to access them from everywhere like Settings, like EditProfile....

Posts = Stack Navigator ( with post related screens in it) If you are somewhere in PostsNavigator and If you try to navigate or dispatch (goBack/ unMount) the shared screens from the Main stack, its immediately crashing. But if you also add them to your last working screen's navigator as a screen (in example above if you add these shared screens to the PostsNavigator), then its working completely fine

Bayramito commented 1 year ago

My app crashes under a certain condition 100%. In my case, I navigated to a screen with react-navigation and the screen has a scrollview with a blur view in it. When I pop the screen while the blur view is displaying, it crashes, but if the blur view is not displaying on the screen because I scrolled down or up then it doesn't crash. I hope this helps you guys figure out what's going on.

https://github.com/Kureev/react-native-blur/issues/489#issuecomment-1315855648

chenop commented 1 year ago

Confirming the patch has solved the issue (for now)

Bayramito commented 1 year ago

Confirming the patch has solved the issue (for now)

which patch ?

chenop commented 1 year ago

This patch: https://gist.github.com/artyorsh/cb8cf71a28be5ccde8f1926e06dbe3a8

Bayramito commented 1 year ago

This patch: https://gist.github.com/artyorsh/cb8cf71a28be5ccde8f1926e06dbe3a8

this didn't work on me. still getting crashed.

I dunno but, Its looking like this is react navigation related something to me ... as like I wrote above when I add the destination screen to current navigator its working fine.

btw this is logcat output when crash is happening...

-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed loading RS driver: dlopen failed: library "libRSDriver_mtk.so" not found
2022-11-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed to load runtime libRSDriver_mtk.so, loading default
2022-11-22 14:18:04.126 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2727
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2727 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.536 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 3087
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 3087 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.539 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2907
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2907 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:05.280 30553-30553/com.omuz A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30553 (com.omuz), pid 30553 (com.omuz)
chenop commented 1 year ago

This patch: https://gist.github.com/artyorsh/cb8cf71a28be5ccde8f1926e06dbe3a8

this didn't work on me. still getting crashed.

I dunno but, Its looking like this is react navigation related something to me ... as like I wrote above when I add the destination screen to current navigator its working fine.

btw this is logcat output when crash is happening...

-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed loading RS driver: dlopen failed: library "libRSDriver_mtk.so" not found
2022-11-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed to load runtime libRSDriver_mtk.so, loading default
2022-11-22 14:18:04.126 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2727
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2727 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.536 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 3087
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 3087 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.539 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2907
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2907 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:05.280 30553-30553/com.omuz A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30553 (com.omuz), pid 30553 (com.omuz)

Here is how I installed it.

Bayramito commented 1 year ago

This patch: https://gist.github.com/artyorsh/cb8cf71a28be5ccde8f1926e06dbe3a8

this didn't work on me. still getting crashed. I dunno but, Its looking like this is react navigation related something to me ... as like I wrote above when I add the destination screen to current navigator its working fine. btw this is logcat output when crash is happening...

-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed loading RS driver: dlopen failed: library "libRSDriver_mtk.so" not found
2022-11-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed to load runtime libRSDriver_mtk.so, loading default
2022-11-22 14:18:04.126 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2727
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2727 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.536 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 3087
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 3087 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.539 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2907
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2907 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:05.280 30553-30553/com.omuz A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30553 (com.omuz), pid 30553 (com.omuz)

Here is how I installed it.

did not work eigher

chenop commented 1 year ago

i

This patch: https://gist.github.com/artyorsh/cb8cf71a28be5ccde8f1926e06dbe3a8

this didn't work on me. still getting crashed. I dunno but, Its looking like this is react navigation related something to me ... as like I wrote above when I add the destination screen to current navigator its working fine. btw this is logcat output when crash is happening...

-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed loading RS driver: dlopen failed: library "libRSDriver_mtk.so" not found
2022-11-22 14:18:02.901 30553-30944/com.omuz E/RenderScript: Failed to load runtime libRSDriver_mtk.so, loading default
2022-11-22 14:18:04.126 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2727
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2727 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.536 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 3087
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 3087 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:04.539 30553-30553/com.omuz E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag 2907
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 2907 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:111)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:138)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:306)
        at com.swmansion.reanimated.NodesManager.updateProps(NodesManager.java:590)
        at com.swmansion.reanimated.NativeProxy.updateProps(NativeProxy.java:185)
        at com.swmansion.reanimated.NativeProxy$AnimationFrameCallback.onAnimationFrame(Native Method)
        at com.swmansion.reanimated.NodesManager.onAnimationFrame(NodesManager.java:275)
        at com.swmansion.reanimated.NodesManager.access$000(NodesManager.java:67)
        at com.swmansion.reanimated.NodesManager$1.doFrameGuarded(NodesManager.java:172)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1240)
        at android.view.Choreographer.doCallbacks(Choreographer.java:996)
        at android.view.ChoreographerExtImpl.checkScrollOptSceneEnable(ChoreographerExtImpl.java:374)
        at android.view.Choreographer.doFrame(Choreographer.java:865)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1227)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8248)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
2022-11-22 14:18:05.280 30553-30553/com.omuz A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30553 (com.omuz), pid 30553 (com.omuz)

Here is how I installed it.

did not work eigher

Just checked your crash - the stacktrace does not seems to me similar to the crash in the top of this thread

Gregoirevda commented 1 year ago

@Titozzz
Could this solve the issue?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
     if(!blurView.isHardwareAccelerated()) {
      getWindow().setFlags(
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
      );
     }

      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }
Bayramito commented 1 year ago

@Titozzz Could this solve the issue?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
     if(!blurView.isHardwareAccelerated()) {
      getWindow().setFlags(
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
      );
     }

      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }

let me try, I ll let you know about the result

Bayramito commented 1 year ago

window manager does not exist

@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java:35: error: package WindowManager does not exist
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,

also

/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java:34: error: cannot find symbol
      getWindow().setFlags(
      ^
  symbol:   method getWindow()
  location: class BlurViewManagerImpl
Titozzz commented 1 year ago

@Titozzz
Could this solve the issue?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
     if(!blurView.isHardwareAccelerated()) {
      getWindow().setFlags(
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
      );
     }

      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }

The idea is good, you should test it, but this should be part directly of the underlying library. Feel free to add this as a patch in the meantime

Gregoirevda commented 1 year ago

@Titozzz Seems like the layerType is set by react-native-screens here.

It checks for isTransitioning and hasWebview. @Bayramito do you have a webview in your screen?

Gregoirevda commented 1 year ago

It's a valid reason to disable hardware acceleration in that scenario, so this would be a better fix?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }
Bayramito commented 1 year ago

@Titozzz Seems like the layerType is set by react-native-screens here.

It checks for isTransitioning and hasWebview. @Bayramito do you have a webview in your screen?

No I don't. I have react-native-skia and react-native-reanimated

using in this component. And still getting Software rendering does not support drawRenderNode error. and it's crashing the app.

Gregoirevda commented 1 year ago

@Bayramito Debugging the setTransitioning in the link above would probably help to validate the view isn't hardware accelerated

Bayramito commented 1 year ago

It's a valid reason to disable hardware acceleration in that scenario, so this would be a better fix?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }

trying this right now... building...

Bayramito commented 1 year ago

It's a valid reason to disable hardware acceleration in that scenario, so this would be a better fix?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }

trying this right now... building...

It's a valid reason to disable hardware acceleration in that scenario, so this would be a better fix?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }

solved my issue. Thank you so much @Gregoirevda

Bayramito commented 1 year ago

patch file

diff --git a/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java b/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java
index 47030e5..32ce338 100644
--- a/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java
+++ b/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java
@@ -29,7 +29,7 @@ class BlurViewManagerImpl {
       .getDecorView();
     ViewGroup rootView = decorView.findViewById(android.R.id.content);
     Drawable windowBackground = decorView.getBackground();
-    if (Build.VERSION.SDK_INT >= 31) {
+if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
       blurView
         .setupWith(rootView, new RenderEffectBlur())
         .setFrameClearDrawable(windowBackground)
artyorsh commented 1 year ago

patch file

diff --git a/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java b/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java
index 47030e5..32ce338 100644
--- a/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java
+++ b/node_modules/@react-native-community/blur/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java
@@ -29,7 +29,7 @@ class BlurViewManagerImpl {
       .getDecorView();
     ViewGroup rootView = decorView.findViewById(android.R.id.content);
     Drawable windowBackground = decorView.getBackground();
-    if (Build.VERSION.SDK_INT >= 31) {
+if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
       blurView
         .setupWith(rootView, new RenderEffectBlur())
         .setFrameClearDrawable(windowBackground)

I think then it will force most of the apps to use outdated/less performant renderer, so it doesn't differ much to what I have suggested with if statement removal. Did anyone tested which renderer is picked with adding blurView.isHardwareAccelerated() check?

Bayramito commented 1 year ago

Yes @artyorsh this should be a temporary fix. Atleast app doesnt crash

artyorsh commented 1 year ago

Yes @artyorsh this should be a temporary fix. Atleast app doesnt crash

yes but what is the answer, sorry

Did anyone tested which renderer is picked?

Bayramito commented 1 year ago

Yes @artyorsh this should be a temporary fix. Atleast app doesnt crash

yes but what is the answer, sorry

Did anyone tested which renderer is picked?

How can i check that

Gregoirevda commented 1 year ago

Log.d("use hardware", blurView.isHardwareAccelerated());

Bayramito commented 1 year ago

Log.d("use hardware", blurView.isHardwareAccelerated());

sorry for responding that late,... i actually dunno where to put this code. i never coded in java


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && blurView.isHardwareAccelerated()) {
      blurView
        .setupWith(rootView, new RenderEffectBlur())
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    } else {
      blurView
        .setupWith(rootView, new RenderScriptBlur(ctx))
        .setFrameClearDrawable(windowBackground)
        .setBlurRadius(defaultRadius);
    }
    Log.d("use hardware",new Boolean(blurView.isHardwareAccelerated()).toString());
    return blurView;
  }

used it like this. got the build now where should i check ? i dont see anything on logcat or debugger