Skip to content

Unable to find viewState for tag 56. Surface stopped: false #49077

Open

Description

@adxzhang1

Description

Seeing similar error to the one here #38743 but have a reproducible example.

Use case is to change some styles of a tab bar when going to a new stack screen. Then when user goes back to the tab screen with tab bar there will be some styling update ex. fade in.

I am seeing these two parts are necessary to trigger the error:
https://github.com/adxzhang1/react-native/blob/2cce5a5b8a5b7c608c0b030bd45e6a40aa11fca4/App.tsx#L83
https://github.com/adxzhang1/react-native/blob/2cce5a5b8a5b7c608c0b030bd45e6a40aa11fca4/App.tsx#L136

Steps to reproduce

  1. Sample here https://github.com/adxzhang1/react-native/tree/view-state-issue
  2. Click Push Stack Screen -> Push Stack Screen -> Back -> Back

React Native Version

0.76.6

Affected Platforms

Runtime - Android

Output of npx react-native info

System:
  OS: macOS 15.2
  CPU: (8) arm64 Apple M1
  Memory: 105.91 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.18.0
    path: ~/.nvm/versions/node/v20.18.0/bin/node
  Yarn:
    version: 1.22.22
    path: ~/.nvm/versions/node/v20.18.0/bin/yarn
  npm:
    version: 10.8.2
    path: ~/.nvm/versions/node/v20.18.0/bin/npm
  Watchman:
    version: 2024.09.23.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/alex/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.2
      - iOS 18.2
      - macOS 15.2
      - tvOS 18.2
      - visionOS 2.2
      - watchOS 11.2
  Android SDK:
    API Levels:
      - "28"
      - "30"
      - "32"
      - "33"
      - "34"
      - "35"
    Build Tools:
      - 29.0.2
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 33.0.1
      - 34.0.0
      - 35.0.0
      - 35.0.0
    System Images:
      - android-34 | Google APIs ARM 64 v8a
      - android-34 | Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2024.2 AI-242.23726.103.2422.12816248
  Xcode:
    version: 16.2/16C5032a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.12
    path: /Users/alex/.jenv/shims/javac
  Ruby:
    version: 3.2.4
    path: /Users/alex/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.0.1
    wanted: 15.0.1
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.6
    wanted: 0.76.6
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs

Exception in native call
com.facebook.react.bridge.RetryableMountingLayerException: Unable to find viewState for tag 56. Surface stopped: false
	at com.facebook.react.fabric.mounting.SurfaceMountingManager.getViewState(SurfaceMountingManager.java:1111)
	at com.facebook.react.fabric.mounting.SurfaceMountingManager.updateLayout(SurfaceMountingManager.java:843)
	at com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem.execute(IntBufferBatchMountItem.java:140)
	at com.facebook.react.fabric.mounting.MountItemDispatcher.executeOrEnqueue(MountItemDispatcher.java:387)
	at com.facebook.react.fabric.mounting.MountItemDispatcher.dispatchMountItems(MountItemDispatcher.java:293)
	at com.facebook.react.fabric.mounting.MountItemDispatcher.tryDispatchMountItems(MountItemDispatcher.java:126)
	at com.facebook.react.fabric.FabricUIManager$DispatchUIFrameCallback.doFrameGuarded(FabricUIManager.java:1394)
	at com.facebook.react.fabric.GuardedFrameCallback.doFrame(GuardedFrameCallback.kt:22)
	at com.facebook.react.modules.core.ReactChoreographer.frameCallback$lambda$1(ReactChoreographer.kt:60)
	at com.facebook.react.modules.core.ReactChoreographer.$r8$lambda$nSkFhrr5T7rop_XKwzlLov4NLLw(Unknown Source:0)
	at com.facebook.react.modules.core.ReactChoreographer$$ExternalSyntheticLambda0.doFrame(D8$$SyntheticClass:0)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1337)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1348)
	at android.view.Choreographer.doCallbacks(Choreographer.java:952)
	at android.view.Choreographer.doFrame(Choreographer.java:878)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1322)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8177)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

Reproducer

https://github.com/adxzhang1/react-native/tree/view-state-issue

Screenshots and Videos

Screen.Recording.2025-01-31.at.1.03.32.AM.mov

Activity

  1. dehimer commented on Apr 21, 2025

    @dehimer

    I've found a reason of problem locally
    For me crash appears when I clicked too often on button (in my implementation of digital keyboard component)
    My investigation led me to a reason.
    I did use styling of TouchableOpacity with styled component.

    import styled from 'styled-components/native'

    In case when I do styling in next way
    const ButtonHighlight = styled.TouchableOpacity`
    ...

    I get a crash on ofter taps
    But all became fine when I replace it by
    const ButtonHighlight = styled(TouchableOpacity)`
    ...

    Probably wrappers or inner logic of styled component TouchableOpacity lead to bug

  2. amitojsingh commented on Apr 22, 2025

    @amitojsingh

    I got the same crash on Android 12 device. Is there any fix?

  3. frangeris commented on Apr 23, 2025

    @frangeris

    Just found out this issue.

    It happens whenever I mutate the local state of a view, just a simple setState, commenting my useState calls works just fine

    Not using Expo

    "react": "19.0.0",
    "react-native": "0.79.1",
    

    Related:
    #47960

    Update:
    Not really related to state updated, also happening when moving between screen using react-navigation@6

    Update 2:
    Just confirmed this only happens on devices with 1 core, I've tested the same code multiple times with differente emulators configuration and any time I set to use only 1 core it fails, VM Heap Size or RAM memory doesn't seems to be affecting the result, just the cores numbers, tested with API 36+

  4. derekvawdrey commented on May 9, 2025

    @derekvawdrey

    I have this issue as well, but only on Android.

  5. frangeris commented on May 9, 2025

    @frangeris

    I have this issue as well, but only on Android.

    Can you checkout my last comment and try if works for you? After I've upgrade the cores and the issue is gone, 2 weeks with no error, please try and report here

  6. akshay-aquil commented on May 12, 2025

    @akshay-aquil

    Unable to find viewState for tag 15202. Surface stopped: false

    I'm also facing this issue please guide if anyone get solution

  7. sivantha96 commented on May 16, 2025

    @sivantha96

    Same issue with expo-router with reanimated. Only on Android. Multi-core devices help but not completely

  8. Tamimjabr commented on May 16, 2025

    @Tamimjabr

    same issue seems to crash because of react native reanimated

  9. ursnj commented on May 18, 2025

    @ursnj

    Same issue facing, any solution, this is mainly happening with RN 0.79 latest code.

  10. mikehesse commented on May 19, 2025

    @mikehesse

    Same issue here. Sometimes I also get this error:

    Image

    But only with router.redirect(...), if using router.push(...) no error occurs.

  11. lindboe commented on May 21, 2025

    @lindboe
    Contributor

    @mikehesse I don't know of a router.redirect method. Did you mean router.replace?

  12. mikehesse commented on May 21, 2025

    @mikehesse

    Oh yeah, I meant router.replace(...)

    I got confused while tinkering around with redirects to avoid this issue

  13. mrChernicharo commented on May 25, 2025

    @mrChernicharo

    same issue only in Android. iOS works fine.

    solution (a bit unfortunate): disable newArch

    // app.json
    
    {
        "expo": {
            "newArchEnabled": false,
        }
    }
    
  14. cortinico commented on May 26, 2025

    @cortinico
    Contributor

    solution (a bit unfortunate): disable newArch

    Just a heads up that this is not a solution

  15. Mako-L commented on May 26, 2025

    @Mako-L

    solution (a bit unfortunate): disable newArch

    Just a heads up that this is not a solution

    True.

  16. joaqo commented on May 26, 2025

    @joaqo

    Same issue here

  17. ayozebarrera commented on May 28, 2025

    @ayozebarrera

    Facing this issue on Android too

    Expo SDK 53
    React 19

  18. laurens-lamberts commented on May 28, 2025

    @laurens-lamberts

    I'm facing the same issue, but was able to isolate it to the use of createMaterialTopTabNavigator of react-navigation for me.
    When that is removed, no more of these issues seem to arise.
    This is a blocking issue for us, as we rely on the top tab navigator of react-navigation.

    I'll do some more testing, to see if there is a workaround.

    Update: top tabs work fine with the old arch, however, switching back is not an option for us.
    Update 2: rendering tabs using react-native-tab-view without using createMaterialTopTabNavigator seems to work fine.
    Update 3: I just started a fresh, minimal Expo (53) project, and that does not seem to have the crash when using createMaterialTopTabNavigator... The search continues...
    Update 4: When I disable my reanimated (layout) animations, the crash no longer occurs on Android. Keeping the Animated.View appears not to be an issue, as long as the layout, entering and exiting props are gone. Not optimal, but I'll remove these for Android only for the time being.
    Update 5: It looks like for our project the entering and exiting animations are no issue. I kept those in place, only disabling the layout={LinearTransition} props for Android, and I see no more crashes.

  19. ayozebarrera commented on May 29, 2025

    @ayozebarrera

    Facing this issue on Android too

    Expo SDK 53 React 19

    Solved, our problem was using an Animated.View inside a Modal with an Entering animation.

    We used Platform.select to use a View on Android.

  20. dmausttruefit commented on May 29, 2025

    @dmausttruefit

    Also running into this issue on Android when using react-native-reanimated with "newArchEnabled": true (haven't tried disabling new architecture as I'd prefer to stay on new architecture). We're doing OCR with react-native-vision-camera and showing an Animated.View based on if the detected text matches a lookup. I think the view is being unmounted and mounted so rapidly that the animation is trying to update views that have already been unmounted.

  21. kevinschaich commented on Jun 4, 2025

    @kevinschaich

    Has anyone reproduced this on a physical Android device or is everyone using the simulator?

    Debating buying a cheap Pixel 9a to test and if it doesn't persist on hardware devices not worth spending time fixing it in simulator.

  22. laurens-lamberts commented on Jun 4, 2025

    @laurens-lamberts

    Has anyone reproduced this on a physical Android device or is everyone using the simulator?

    Debating buying a cheap Pixel 9a to test and if it doesn't persist on hardware devices not worth spending time fixing it in simulator.

    @kevinschaich We had to disable layout animations on Android completely for now, as we also faced the crash in a release build on a physical device. Hope that helps.

  23. Tamimjabr commented on Jun 4, 2025

    @Tamimjabr

    Has anyone reproduced this on a physical Android device or is everyone using the simulator?

    Debating buying a cheap Pixel 9a to test and if it doesn't persist on hardware devices not worth spending time fixing it in simulator.

    Same here we har having 2% crash rate that comes from this issue on production. OBS! 2% of 60k daily users

  24. shawnthye-guru commented on Jun 4, 2025

    @shawnthye-guru

    Has anyone reproduced this on a physical Android device or is everyone using the simulator?

    Debating buying a cheap Pixel 9a to test, and if it doesn't persist on hardware devices, not worth spending time fixing it in simulator.

    @kevinschaich to answer your question, yes, the real live users.

    We are seeing this on PlayStore crashes, just hard to reproduce on the production project, and we still figuring out the root causes

  25. prechy123 commented on Jun 10, 2025

    @prechy123

    Same issue here, I remove the animation part from react-native-reanimated and code works fine, so error is around the animation area I think

    I hope this help

  26. thinesjs commented on Jun 10, 2025

    @thinesjs

    @prechy123 Hello there, may i know what you mean by removing animation? Is it related to Animated View’s layout? Do you have an example snippet of what you removed?

  27. prechy123 commented on Jun 11, 2025

    @prechy123

    @prechy123 Hello there, may i know what you mean by removing animation? Is it related to Animated View’s layout? Do you have an example snippet of what you removed?

    Exactly after commenting out <Animated.View>... code works fine, so I think the issue is caused be the react-native-reanimated library

  28. laurens-lamberts commented on Jun 11, 2025

    @laurens-lamberts

    I've eventually got the crash fixed by removing my reanimated Layout animations from the items that were rendered in a Flashlist V2 list. This list implementation already takes care of animating appearing or disappearing items, and the extra layout animation I configured for the list items seemed to clash with that. Just an assumption, but that is what might have caused the viewState error in my case.

  29. prechy123 commented on Jun 11, 2025

    @prechy123

    I've eventually got the crash fixed by removing my reanimated Layout animations from the items that were rendered in a Flashlist V2 list. This list implementation already takes care of animating appearing or disappearing items, and the extra layout animation I configured for the list items seemed to clash with that. Just an assumption, but that is what might have caused the viewState error in my case.

    I think the issue is when the compatibility of the latest expo version with react native remained

  30. thinesjs commented on Jun 11, 2025

    @thinesjs

    Not sure if expo has anything to do but i’m working on a bare RN project and having this issue. Looking at Sentry logs, it seems to happen on my Privacy Blur component which has entering and exiting props set using AnimatedView on it. I didn’t hunt for a repro but i haven’t seen it happen with my simulator or real devices testing either, all the animations seems to be fine.

  31. joaqo commented on Jun 14, 2025

    @joaqo

    Is anyone on the react native team working on this @sarthak-d11? Can't really move to new arch until its fixed.

  32. arocafull00 commented on Jun 18, 2025

    @arocafull00

    I ran into the same issue and managed to fix it this way:
    I had a global provider that was performing a check on every screen and triggering a router.push multiple times, even after the screen had already changed.
    After changing that logic, I was able to resolve it.
    Check if you have any repeated condition that might be triggering router.push multiple times.

  33. pierroo commented on Jun 19, 2025

    @pierroo

    I can confirm this issue is related to reanimated, and is definitely this one: software-mansion/react-native-reanimated#7493

    entering / exiting, and reanimated stuff are the ones crashing RN on new arch.

    It's a show stopper for many of us unfortunately, all our hopes are on reanimated team now :)

  34. SYED-MUJAHID-QUADRI commented on Aug 10, 2025

    @SYED-MUJAHID-QUADRI

    Same issue facing, any solution, this is mainly happening with RN 0.79 latest code.

    Hey foyn any solution?

  35. mikkan-39 commented on Aug 11, 2025

    @mikkan-39

    Sooo I've essentially paused development on android for 2 months, any updates on this bug? It really is a show stopper.

  36. SYED-MUJAHID-QUADRI commented on Aug 11, 2025

    @SYED-MUJAHID-QUADRI

    Sooo I've essentially paused development on android for 2 months, any updates on this bug? It really is a show stopper.

    In my case it was sqlite , I was initialising it in tab /food layout file , after initialising it in main layout file it worked

  37. oleksandr-dziuban commented on Aug 18, 2025

    @oleksandr-dziuban

    Seems like commenting entering/exiting props for animated components is fixing this crash

  38. oleksandr-dziuban commented on Aug 19, 2025

    @oleksandr-dziuban

    Looks like Reanimated team is making a temporary workaround now:
    software-mansion/react-native-reanimated#8083

  39. lakween commented on Aug 25, 2025

    @lakween
  40. oleksandr-dziuban commented on Aug 26, 2025

    @oleksandr-dziuban

    Hello @lakween

    Thanks a lot for your suggestion!

    Did you try it on PROD app? Is it safe and doesn't lead to side effects?
    if yes, what is the Reanimated version do you use? I'm just trying to apply this patch for 3.19.1

  41. lakween commented on Aug 27, 2025

    @lakween

    @oleksandr-dziuban Yes, it works on the PROD app. My version is 3.19.0.

  42. oleksandr-dziuban commented on Aug 29, 2025

    @oleksandr-dziuban

    @oleksandr-dziuban Yes, it works on the PROD app. My version is 3.19.0.

    Amazing, thanks a lot!

  43. oleksandr-dziuban commented on Sep 9, 2025

    @oleksandr-dziuban

    Hey @lakween

    Crash still exist with the patch-package on PROD on RN 3.19.1

  44. KristianLentino99 commented on Sep 29, 2025

    @KristianLentino99

    I have the same problem

  45. zsianko commented on Oct 8, 2025

    @zsianko

    Our case is the following: A -> B -> Back -> C, where
    A: orientation - portrait
    B: orientation - landscape
    C: orientation - portrait

    No entering animations, Native Stack, React Navigation 7.x, React Native Screens 4.x, Reanimated 4.x. animation: none doesn't help. We had to remove orientation from stackOptions and rotate manually

  46. renyufei8023 commented on Oct 9, 2025

    @renyufei8023

    This is not a problem with the react native reenacted library, it's a problem with react native. I hope the official can solve this problem

  47. renyufei8023 commented on Oct 10, 2025

    @renyufei8023

    I've eventually got the crash fixed by removing my reanimated Layout animations from the items that were rendered in a Flashlist V2 list. This list implementation already takes care of animating appearing or disappearing items, and the extra layout animation I configured for the list items seemed to clash with that. Just an assumption, but that is what might have caused the viewState error in my case.

    May I ask how it was resolved? I did not find any animation related code in the source code of Flashlist

  48. laurens-lamberts commented on Oct 10, 2025

    @laurens-lamberts

    I've eventually got the crash fixed by removing my reanimated Layout animations from the items that were rendered in a Flashlist V2 list. This list implementation already takes care of animating appearing or disappearing items, and the extra layout animation I configured for the list items seemed to clash with that. Just an assumption, but that is what might have caused the viewState error in my case.

    May I ask how it was resolved? I did not find any animation related code in the source code of Flashlist

    In my project I had layout animations implemented myself. Removing my own animations fixed the crashes I believe.

  49. bjollans commented on Oct 11, 2025

    @bjollans

    I resolved the error without removing navigation or animations.

    For me it was happening in a wrapper component that conditionally rendered its children. The children were doing a DB fetch with react-query. My theory is that after the DB call, react-query sets isLoading to false. It tries to do this in a screen that does not exist anymore. The state change in a non existent screen, causes the error: Unable to find viewState for tag 56.

    This is my working theory. It may be wrong, but since it fixed the issue I am not trying to disprove it anymore.

    My fix was going from something like this:

    function WrapperComponent({children}) {
        if (childCondition) return children;
        return wrapperStuff;
    }
    

    To something like this

    function WrapperComponent({children}) {
        return <>
            {children}
            {!childCondition &&
                <View style={{position:'absolute', width:'100%',height:'100%'}}>
                    {wrapperStuff}
                </View>
            }
        </>;
    }
    

    So the children are always rendered and never removed by accident.

  50. reneeichhorn commented on Oct 13, 2025

    @reneeichhorn

    I've also created another minimal reproducer here: https://github.com/reneeichhorn/viewfind-bug-repro/blob/main/App.tsx#L12-L54

    Can't say if it is the exact same issue because here I used Suspense in combination with FlashList to reproduce this crash, but it happens very reliably in there.

  51. levepic commented on Oct 19, 2025

    @levepic
  52. Antonio-Melo commented on Oct 20, 2025

    @Antonio-Melo

    Hey guys,

    It seems like this might be addressed in RN 0.80.0. Here is the changelog.

  53. levepic commented on Oct 20, 2025

    @levepic

    We are on RN 0.81.4 and the issue is still present!

  54. oleksandr-dziuban commented on Oct 20, 2025

    @oleksandr-dziuban

    yep, I can confirm, RN 0.80.2 and Reanimated v4.0.3 / 4.1.3, issue still exist for Android.

    Tried patch-package recommended here, tried to make a patch package from a PR raised to fix that issue.
    No luck

    I think maybe it's an issue more related to RN, then to Reanimated 🤔

  55. musabgulfam commented on Oct 23, 2025

    @musabgulfam

    Okay, one thing I was doing wrong/bad was to dynamically alter the styling of the root <View /> of a screen, something like this:

    const [loading, setLoading] = useState(false);
    <View style={loading ? style1 : style2}>
        Remaining code...
    </View>
    

    And once I removed this dynamic styling from root <View /> of the screen, the error was gone. What I learned from this was to never change or make dynamic the styling of the root <View /> of the screen.

  56. Aduomas commented on Oct 23, 2025

    @Aduomas

    Okay, one thing I was doing wrong/bad was to dynamically alter the styling of the root <View /> of a screen, something like this:

    const [loading, setLoading] = useState(false);
    <View style={loading ? style1 : style2}>
        Remaining code...
    </View>
    

    And once I removed this dynamic styling from root <View /> of the screen, the error was gone. What I learned from this was to never change or make dynamic the styling of the root <View /> of the screen.

    you saved my life, thanks!

  57. levepic commented on Oct 23, 2025

    @levepic

    Okay, one thing I was doing wrong/bad was to dynamically alter the styling of the root <View /> of a screen, something like this:

    const [loading, setLoading] = useState(false);
    <View style={loading ? style1 : style2}>
        Remaining code...
    </View>
    

    And once I removed this dynamic styling from root <View /> of the screen, the error was gone. What I learned from this was to never change or make dynamic the styling of the root <View /> of the screen.

    you saved my life, thanks!

    Can you guys please tell what styles were those? Something heavy? For example I have insets padding on view styles, I guess it shouldnt break it. Unfortunately I can only check it in production (with real users crashing), cannot reproduce the issue whatever I do. Thanks!

  58. mgulfam0722 commented on Oct 24, 2025

    @mgulfam0722

    Okay, one thing I was doing wrong/bad was to dynamically alter the styling of the root <View /> of a screen, something like this:

    const [loading, setLoading] = useState(false);
    <View style={loading ? style1 : style2}>
        Remaining code...
    </View>
    

    And once I removed this dynamic styling from root <View /> of the screen, the error was gone. What I learned from this was to never change or make dynamic the styling of the root <View /> of the screen.

    you saved my life, thanks!

    Can you guys please tell what styles were those? Something heavy? For example I have insets padding on view styles, I guess it shouldnt break it. Unfortunately I can only check it in production (with real users crashing), cannot reproduce the issue whatever I do. Thanks!

    In my case it was simple styles like flex and padding

  59. yusufkaracin commented on Oct 25, 2025

    @yusufkaracin

    Hello, I'm sharing my experience in case it might help others facing the same issue. The error was caused by React Native Reanimated in my case.

    I'm using Obytes' Starter Kit. After adding animations to some components, I started getting this error. Updating the RNR package to version 3.19.3 fixed the issue. My Expo version is 53.0.23, and my React Native version is 0.79.6.

  60. levepic commented on Nov 6, 2025

    @levepic

    Okay, one thing I was doing wrong/bad was to dynamically alter the styling of the root <View /> of a screen

    I think this really helped in my case too, for me it was safeareainsets on the root view which I removed & also added collapsable={false}

    There is more about this in the comments at software-mansion/react-native-reanimated#7493

  61. Aikenwu commented on Nov 11, 2025

    @Aikenwu

    Okay, one thing I was doing wrong/bad was to dynamically alter the styling of the root <View /> of a screen

    I think this really helped in my case too, for me it was safeareainsets on the root view which I removed & also added collapsable={false}

    There is more about this in the comments at software-mansion/react-native-reanimated#7493

    Are you still having breakdowns? Could you elaborate on what changes were made?

  62. Aikenwu commented on Nov 15, 2025

    @Aikenwu

    collapsable

    I made the modifications as you suggested, changing the rootview and adding collapsable=false, which reduced the number of crashes, but there is still a 1.5% crash rate.

  63. renyufei8023 commented on Nov 17, 2025

    @renyufei8023

    I've also created another minimal reproducer here: https://github.com/reneeichhorn/viewfind-bug-repro/blob/main/App.tsx#L12-L54

    Can't say if it is the exact same issue because here I used Suspense in combination with FlashList to reproduce this crash, but it happens very reliably in there.

    @cortinico Why haven't we investigated the issue now that we already have stable replicated example code?

  64. thiago-de-almeida commented on Nov 21, 2025

    @thiago-de-almeida

    During my investigation, I noticed that in the SurfaceMountingManager.java file, a check was added to verify if the viewParent exists in the updateLayout function. However, my crashes are occurring in the addViewAt function, which lacks this same defensive handling.

    I'm applying the same null check to addViewAt and rolling out a version to a small subset of users. Once approved in the Play Console, I'll return here to share the results. My understanding is that we shouldn't experience any side effects from this change, correct? There shouldn't be any blank or non-rendered components since the null value is the parent itself, which doesn't exist.

    I also noticed this comment in the code in the SurfaceMountingManager.java file for updateLayout function:

        // TODO T212247085: Make this non-nullable again after rolling out
        // disableMountItemReorderingAndroid
    

    I understand that removing this workaround depends on the rollout of the disableMountItemReorderingAndroid feature flag. I haven't investigated in detail what it does yet, but I plan to. If anyone has insights about this, I'd be happy if you'd like to share.

    Here's my patch:

    react-native+0.81.5.patch

  65. Aikenwu commented on Nov 22, 2025

    @Aikenwu

    During my investigation, I noticed that in the SurfaceMountingManager.java file, a check was added to verify if the viewParent exists in the updateLayout function. However, my crashes are occurring in the addViewAt function, which lacks this same defensive handling.

    I'm applying the same null check to addViewAt and rolling out a version to a small subset of users. Once approved in the Play Console, I'll return here to share the results. My understanding is that we shouldn't experience any side effects from this change, correct? There shouldn't be any blank or non-rendered components since the null value is the parent itself, which doesn't exist.

    I also noticed this comment in the code in the SurfaceMountingManager.java file for updateLayout function:

        // TODO T212247085: Make this non-nullable again after rolling out
        // disableMountItemReorderingAndroid
    

    I understand that removing this workaround depends on the rollout of the disableMountItemReorderingAndroid feature flag. I haven't investigated in detail what it does yet, but I plan to. If anyone has insights about this, I'd be happy if you'd like to share.

    Here's my patch:

    react-native+0.81.5.patch

    So I see that your patch approach avoids throwing a crash exception by using logSoftException to swallow the exception message. I'm wondering if this approach might cause unexpected page rendering of components? For example, a blank page.

  66. HoangNhju commented on Jan 26, 2026

    @HoangNhju

    I've experiencing the same issue. And it is not related to navigation in my case, the app just crashes with the same error randomly while I scroll up and down in fast some screen with long (@shopify/flash-list) list.

    Sentry stacktrace screenshot:

    after I checked doc again and added maxItemsInRecyclePool it solved the problem.
    im use expo sdk 54, flastlist 2.2.0, RN 0.81.5 You can try to see if it solves it

  67. SteevenAlbert commented on Jan 26, 2026

    @SteevenAlbert

    Hello, I'm sharing my experience in case it might help others facing the same issue. The error was caused by React Native Reanimated in my case.

    I'm using Obytes' Starter Kit. After adding animations to some components, I started getting this error. Updating the RNR package to version 3.19.3 fixed the issue. My Expo version is 53.0.23, and my React Native version is 0.79.6.

    That was my exact issue as well! It was resolved following your advice, updating to version 3.19.3 fixed it.
    Thanks a million for sharing. @yusufkaracin

  68. cw-tejas commented on Feb 7, 2026

    @cw-tejas

    Hey @adxzhang1, I was able to reproduce this issue. It appears to be valid on the new architecture but works fine on the old architecture. Since this issue is heavily reliant on @react-navigation, it might be best to raise it with @react-navigation first.

    What do you think, @cortinico?

    @sarthak-d11 have you raised this issue at react-navigation?

    I am facing this crash due to the react-native-tab-view TabView component, using v4.2.1

  69. sagnik2001 commented on May 6, 2026

    @sagnik2001

    Fatal Exception: com.facebook.react.bridge.RetryableMountingLayerException: Unable to find viewState for tag 89456. Surface stopped: false
    at com.facebook.react.fabric.mounting.SurfaceMountingManager.getViewState(SurfaceMountingManager.java:1249)
    at com.facebook.react.fabric.mounting.SurfaceMountingManager.addViewAt(SurfaceMountingManager.java:357)
    at com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem.execute(IntBufferBatchMountItem.kt:122)
    at com.facebook.react.fabric.mounting.MountItemDispatcher.executeOrEnqueue(MountItemDispatcher.kt:340)
    at com.facebook.react.fabric.mounting.MountItemDispatcher.dispatchMountItems(MountItemDispatcher.kt:246)
    at com.facebook.react.fabric.mounting.MountItemDispatcher.tryDispatchMountItems(MountItemDispatcher.kt:93)
    at com.facebook.react.fabric.FabricUIManager$DispatchUIFrameCallback.doFrameGuarded(FabricUIManager.java:1499)
    at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.kt:25)
    at com.facebook.react.modules.core.ReactChoreographer.frameCallback$lambda$1(ReactChoreographer.kt:59)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1184)
    at android.view.Choreographer.doCallbacks(Choreographer.java:986)
    at android.view.Choreographer.doFrame(Choreographer.java:907)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1171)
    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:334)
    at android.app.ActivityThread.main(ActivityThread.java:8333)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1065)

    pool-21-thread-9:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Firebase-Messaging-Init:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.9.0:2)
    at java.lang.Thread.run(Thread.java:922)

    pool-47-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    ProcessStablePhenotypeFlag:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    glide-source-thread-3:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:424)
    at java.lang.Thread.run(Thread.java:922)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultPriorityThreadFactory$1.run(GlideExecutor.java:383)

    FrescoDecodeExecutor-5:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    OkHttp Dispatcher:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-19-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrescoDecodeExecutor-3:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    pool-24-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Firebase Background Thread #1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-10:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    JavaBridge:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-21-thread-6:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    DefaultDispatcher-worker-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

    glide-source-thread-0:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:424)
    at java.lang.Thread.run(Thread.java:922)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultPriorityThreadFactory$1.run(GlideExecutor.java:383)

    CameraAvailabilityObserver_ObservationThread:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    GoogleApiHandler:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    FrescoIoBoundExecutor-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    OkHttp Dispatcher:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-10-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Firebase Background Thread #0:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
    at java.lang.Thread.run(Thread.java:922)

    FileObserver:
    at android.os.FileObserver$ObserverThread.observe(FileObserver.java)
    at android.os.FileObserver$ObserverThread.run(FileObserver.java:121)

    FrescoDecodeExecutor-6:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    pool-30-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrescoLightWeightBackgroundExecutor-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    Firebase Blocking Thread #12:
    at libcore.io.Linux.open(Linux.java)
    at libcore.io.ForwardingOs.open(ForwardingOs.java:567)
    at libcore.io.BlockGuardOs.open(BlockGuardOs.java:273)
    at libcore.io.ForwardingOs.open(ForwardingOs.java:567)
    at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8209)
    at libcore.io.IoBridge.open(IoBridge.java:561)
    at java.io.FileOutputStream.(FileOutputStream.java:236)
    at java.io.FileOutputStream.(FileOutputStream.java:186)
    at androidx.datastore.core.FileWriteScope.writeData(FileStorage.kt:199)
    at androidx.datastore.core.DataStoreImpl$writeData$2.invokeSuspend(DataStoreImpl.kt:353)
    at androidx.datastore.core.DataStoreImpl$writeData$2.invoke(DataStoreImpl.kt:9)
    at androidx.datastore.core.DataStoreImpl$writeData$2.invoke(DataStoreImpl.kt:5)
    at androidx.datastore.core.FileStorageConnection.writeScope(FileStorage.kt:118)
    at androidx.datastore.core.DataStoreImpl.writeData$datastore_core_release(DataStoreImpl.kt:348)
    at androidx.datastore.core.DataStoreImpl$transformAndWrite$2.invokeSuspend(DataStoreImpl.kt:337)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
    at java.lang.Thread.run(Thread.java:922)

    pool-35-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    GoogleApiHandler:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-21-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-17-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-33-thread-3:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    CleanupReference:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
    at WV.tx.run(chromium-SystemWebViewGoogle.aab-stable-772713700:3)

    glide-disk-cache-thread-0:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:424)
    at java.lang.Thread.run(Thread.java:922)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultPriorityThreadFactory$1.run(GlideExecutor.java:383)

    mqt_v_js:
    at com.facebook.jni.NativeRunnable.run(NativeRunnable.java)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.kt:21)
    at android.os.Looper.loopOnce(Looper.java:233)
    at android.os.Looper.loop(Looper.java:334)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$Companion.startNewBackgroundThread$lambda$0(MessageQueueThreadImpl.kt:152)
    at java.lang.Thread.run(Thread.java:922)

    Thread-17:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
    at java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)
    at com.microsoft.clarity.i.y.invoke(SourceFile:3)
    at com.microsoft.clarity.q.g.a(r8-map-id-656dc095118bef505b3135039012df33c1a9511d06a3de79b19d9f87abdcb9e2:2)
    at com.microsoft.clarity.q.g.a(r8-map-id-656dc095118bef505b3135039012df33c1a9511d06a3de79b19d9f87abdcb9e2:1)
    at com.microsoft.clarity.i.P.a(SourceFile:3074)
    at java.lang.Thread.run(Thread.java:922)

    FrescoDecodeExecutor-8:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    pool-9-thread-25:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-25-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrescoDecodeExecutor-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-7:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    OkHttp prodapi.newme.asia:
    at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
    at java.net.SocketInputStream.read(SocketInputStream.java:176)
    at java.net.SocketInputStream.read(SocketInputStream.java:144)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797)
    at okio.InputStreamSource.read(JvmOkio.kt:93)
    at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:128)
    at okio.internal.-RealBufferedSource.commonRequest(-RealBufferedSource.java:63)
    at okio.RealBufferedSource.request(RealBufferedSource.kt:69)
    at okio.internal.-RealBufferedSource.commonRequire(-RealBufferedSource.java:56)
    at okio.RealBufferedSource.require(RealBufferedSource.kt:68)
    at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.kt:89)
    at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:618)
    at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:609)
    at okhttp3.internal.concurrent.TaskQueue$execute$1.runOnce(TaskQueue.kt:98)
    at okhttp3.internal.concurrent.TaskRunner.runTask(TaskRunner.kt:116)
    at okhttp3.internal.concurrent.TaskRunner.access$runTask(TaskRunner.kt:42)
    at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:65)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    mqt_v_native:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$Companion.startNewBackgroundThread$lambda$0(MessageQueueThreadImpl.kt:152)
    at java.lang.Thread.run(Thread.java:922)

    GmsDynamite:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.Object.wait(Object.java:568)
    at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.9.0:2)

    pool-36-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Thread-19:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at com.microsoft.clarity.i.h.invoke(SourceFile:3)
    at com.microsoft.clarity.q.g.a(r8-map-id-656dc095118bef505b3135039012df33c1a9511d06a3de79b19d9f87abdcb9e2:2)
    at com.microsoft.clarity.q.g.a(r8-map-id-656dc095118bef505b3135039012df33c1a9511d06a3de79b19d9f87abdcb9e2:1)
    at com.microsoft.clarity.i.q.b(SourceFile:24)
    at java.lang.Thread.run(Thread.java:922)

    GoogleApiHandler:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-21-thread-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    AudioPortEventHandler:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    DefaultDispatcher-worker-3:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

    Okio Watchdog:
    at java.lang.Object.wait(Object.java)
    at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:325)
    at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:42)
    at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:288)

    queued-work-looper:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-38-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-32-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-44-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Timer-2:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.Object.wait(Object.java:568)
    at java.util.TimerThread.mainLoop(Timer.java:533)
    at java.util.TimerThread.run(Timer.java:512)

    CameraX-scheduler:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-21-thread-12:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrameMetricsAggregator:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    ExoPlayer:BackgroundExecutor:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-11:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    OkHttp assets.newme.asia:
    at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
    at java.net.SocketInputStream.read(SocketInputStream.java:176)
    at java.net.SocketInputStream.read(SocketInputStream.java:144)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824)
    at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797)
    at okio.InputStreamSource.read(JvmOkio.kt:93)
    at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:128)
    at okio.internal.-RealBufferedSource.commonRequest(-RealBufferedSource.java:63)
    at okio.RealBufferedSource.request(RealBufferedSource.kt:69)
    at okio.internal.-RealBufferedSource.commonRequire(-RealBufferedSource.java:56)
    at okio.RealBufferedSource.require(RealBufferedSource.kt:68)
    at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.kt:89)
    at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:618)
    at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:609)
    at okhttp3.internal.concurrent.TaskQueue$execute$1.runOnce(TaskQueue.kt:98)
    at okhttp3.internal.concurrent.TaskRunner.runTask(TaskRunner.kt:116)
    at okhttp3.internal.concurrent.TaskRunner.access$runTask(TaskRunner.kt:42)
    at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:65)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    MessengerIpcClient:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.9.0:2)
    at java.lang.Thread.run(Thread.java:922)

    GoogleApiHandler:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    FinalizerDaemon:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
    at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273)
    at java.lang.Daemons$Daemon.run(Daemons.java:139)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-5:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Thread-18:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at com.microsoft.clarity.g.O.invoke(SourceFile:3)
    at com.microsoft.clarity.q.g.a(r8-map-id-656dc095118bef505b3135039012df33c1a9511d06a3de79b19d9f87abdcb9e2:2)
    at com.microsoft.clarity.q.g.a(r8-map-id-656dc095118bef505b3135039012df33c1a9511d06a3de79b19d9f87abdcb9e2:1)
    at com.microsoft.clarity.g.S.a(SourceFile:432)
    at java.lang.Thread.run(Thread.java:922)

    FinalizerWatchdogDaemon:
    at java.lang.Thread.sleep(Thread.java)
    at java.lang.Thread.sleep(Thread.java:453)
    at java.lang.Thread.sleep(Thread.java:358)
    at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForNanos(Daemons.java:390)
    at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:419)
    at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:325)
    at java.lang.Daemons$Daemon.run(Daemons.java:139)
    at java.lang.Thread.run(Thread.java:922)

    WM.task-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    DefaultDispatcher-worker-4:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

    Firebase-Messaging-Topics-Io:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.9.0:2)
    at java.lang.Thread.run(Thread.java:922)

    CameraX-core_camera_0:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-22-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    OkHttp TaskRunner:
    at java.lang.Object.wait(Object.java)
    at okhttp3.internal.concurrent.TaskRunner$RealBackend.coordinatorWait(TaskRunner.kt:294)
    at okhttp3.internal.concurrent.TaskRunner.awaitTaskToRun(TaskRunner.kt:218)
    at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:59)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-4:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    DefaultDispatcher-worker-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

    OkHttp ConnectionPool:
    at java.lang.Object.wait(Object.java)
    at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:114)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-33-thread-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-8:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrescoIoBoundExecutor-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    WM.task-3:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-33-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    glide-active-resources:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
    at com.bumptech.glide.load.engine.ActiveResources.cleanReferenceQueue(ActiveResources.java:132)
    at com.bumptech.glide.load.engine.ActiveResources$2.run(ActiveResources.java:61)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.bumptech.glide.load.engine.ActiveResources$1$1.run(ActiveResources.java:43)
    at java.lang.Thread.run(Thread.java:922)

    OkHttp TaskRunner:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    glide-source-thread-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:424)
    at java.lang.Thread.run(Thread.java:922)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultPriorityThreadFactory$1.run(GlideExecutor.java:383)

    InsetsAnimations:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    FrescoDecodeExecutor-4:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    vivo.PerfThread:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    ConnectivityThread:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    androidx.work-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-21-thread-3:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    ProcessStablePhenotypeFlag:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    ProcessStablePhenotypeFlag:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    WM.task-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    WM.task-4:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Timer-1:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.lang.Object.wait(Object.java:568)
    at java.util.TimerThread.mainLoop(Timer.java:533)
    at java.util.TimerThread.run(Timer.java:512)

    AsyncTask #22:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:459)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:920)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    pool-23-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    WifiManagerThread:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    HybridData DestructorThread:
    at com.facebook.jni.DestructorThread$1.run(DestructorThread.java:77)

    Timer-4:
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:442)
    at java.util.TimerThread.mainLoop(Timer.java:559)
    at java.util.TimerThread.run(Timer.java:512)

    pool-20-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Chrome_ProcessLauncherThread:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-4-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    Firebase Background Thread #3:
    at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
    at java.lang.Thread.getStackTrace(Thread.java:1726)
    at java.lang.Thread.getAllStackTraces(Thread.java:1802)
    at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:343)
    at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:314)
    at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:261)
    at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:112)
    at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:337)
    at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:130)
    at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:218)
    at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:204)
    at com.google.firebase.crashlytics.internal.concurrency.CrashlyticsWorker.lambda$submitTask$2(CrashlyticsWorker.java:118)
    at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@18.4.0:1)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
    at java.lang.Thread.run(Thread.java:922)

    Firebase Background Thread #2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
    at java.lang.Thread.run(Thread.java:922)

    pool-26-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrescoDecodeExecutor-7:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    pool-31-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    glide-source-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:424)
    at java.lang.Thread.run(Thread.java:922)
    at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultPriorityThreadFactory$1.run(GlideExecutor.java:383)

    CameraX-core_camera_1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    FrescoDecodeExecutor-2:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
    at java.lang.Thread.run(Thread.java:922)

    pool-34-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    mrousavy/VisionCamera.video:
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:339)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:334)
    at android.os.HandlerThread.run(HandlerThread.java:67)

    pool-7-thread-1:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    ReferenceQueueDaemon:
    at libcore.util.NativeAllocationRegistry.applyFreeFunction(NativeAllocationRegistry.java)
    at libcore.util.NativeAllocationRegistry$CleanerThunk.run(NativeAllocationRegistry.java:291)
    at sun.misc.Cleaner.clean(Cleaner.java:142)
    at java.lang.ref.ReferenceQueue.enqueueLocked(ReferenceQueue.java:77)
    at java.lang.ref.ReferenceQueue.enqueuePending(ReferenceQueue.java:245)
    at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:227)
    at java.lang.Daemons$Daemon.run(Daemons.java:139)
    at java.lang.Thread.run(Thread.java:922)

    pool-33-thread-4:
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:922)

    hey is this issue still open facing this same crash mostly in vivo devices

  70. sagnik2001 commented on May 6, 2026

    @sagnik2001

    `diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java
    index 6047316..efd5b4c 100644
    --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java
    +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java
    @@ -354,7 +354,14 @@ public class SurfaceMountingManager {
    return;
    }

    • ViewState parentViewState = getViewState(parentTag);
    • ViewState parentViewState = getNullableViewState(parentTag);
    • if (parentViewState == null) {
    •  ReactSoftExceptionLogger.logSoftException(
      
    •      ReactSoftExceptionLogger.Categories.SURFACE_MOUNTING_MANAGER_MISSING_VIEWSTATE,
      
    •      new ReactNoCrashSoftException(
      
    •          "Unable to find viewState for tag: [" + parentTag + "] for addViewAt"));
      
    •  return;
      
    • }
      if (!(parentViewState.mView instanceof ViewGroup)) {
      String message =
      "Unable to add a view into a view that is not a ViewGroup. ParentTag: "
      @@ -367,7 +374,14 @@ public class SurfaceMountingManager {
      throw new IllegalStateException(message);
      }
      final ViewGroup parentView = (ViewGroup) parentViewState.mView;
    • ViewState viewState = getViewState(tag);
    • ViewState viewState = getNullableViewState(tag);
    • if (viewState == null) {
    •  ReactSoftExceptionLogger.logSoftException(
      
    •      ReactSoftExceptionLogger.Categories.SURFACE_MOUNTING_MANAGER_MISSING_VIEWSTATE,
      
    •      new ReactNoCrashSoftException(
      
    •          "Unable to find viewState for tag: [" + tag + "] for addViewAt"));
      
    •  return;
      
    • }
      final View view = viewState.mView;
      if (view == null) {
      throw new IllegalStateException(
      `
      I did patch this once but still it crashes . Any other solution?
  71. HoangNhju commented on May 7, 2026

    @HoangNhju

    `diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java index 6047316..efd5b4c 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java @@ -354,7 +354,14 @@ public class SurfaceMountingManager { return; }

    • ViewState parentViewState = getViewState(parentTag);

    • ViewState parentViewState = getNullableViewState(parentTag);

    • if (parentViewState == null) {

    •  ReactSoftExceptionLogger.logSoftException(
      
    •      ReactSoftExceptionLogger.Categories.SURFACE_MOUNTING_MANAGER_MISSING_VIEWSTATE,
      
    •      new ReactNoCrashSoftException(
      
    •          "Unable to find viewState for tag: [" + parentTag + "] for addViewAt"));
      
    •  return;
      
    • }
      if (!(parentViewState.mView instanceof ViewGroup)) {
      String message =
      "Unable to add a view into a view that is not a ViewGroup. ParentTag: "
      @@ -367,7 +374,14 @@ public class SurfaceMountingManager {
      throw new IllegalStateException(message);
      }
      final ViewGroup parentView = (ViewGroup) parentViewState.mView;

    • ViewState viewState = getViewState(tag);

    • ViewState viewState = getNullableViewState(tag);

    • if (viewState == null) {

    •  ReactSoftExceptionLogger.logSoftException(
      
    •      ReactSoftExceptionLogger.Categories.SURFACE_MOUNTING_MANAGER_MISSING_VIEWSTATE,
      
    •      new ReactNoCrashSoftException(
      
    •          "Unable to find viewState for tag: [" + tag + "] for addViewAt"));
      
    •  return;
      
    • }
      final View view = viewState.mView;
      if (view == null) {
      throw new IllegalStateException(
      `
      I did patch this once but still it crashes . Any other solution?

    you can try remove all build folder in android when build release. i resolve my issues when remove build folder in android

  72. junlongtao2 commented on Sep 10, 2026

    @junlongtao2

    Still reproducible on RN 0.83.6 (New Architecture), and there is a second hop in the Expo case that I have not seen mentioned in this thread.

    Repro — OnePlus PJE110 / Android 16, RN 0.83.6, Expo SDK 55. The trigger is navigating away while a list is still mounting: tap a list item the moment its content appears, without waiting for it to settle. Four rapid taps in a row, two crashes.

    RetryableMountingLayerException: Unable to find viewState for tag 66. Surface stopped: false
      SurfaceMountingManager.getViewState(SurfaceMountingManager.java:1249)
      SurfaceMountingManager.addViewAt(SurfaceMountingManager.java:370)
      IntBufferBatchMountItem.execute(IntBufferBatchMountItem.kt:122)
      MountItemDispatcher.dispatchMountItems(MountItemDispatcher.kt:246)
      FabricUIManager$DispatchUIFrameCallback.doFrameGuarded(FabricUIManager.java:1499)
    

    Why it is fatal on Expo rather than soft. logcat shows the same exception twice, 0.18s apart, on two different threads:

    .254  [UI thread]                    E unknown:MountItemDispatcher: RetryableMountingLayerException   <- logged as soft
    .435  [expo-updates-error-recovery]  FATAL EXCEPTION: <same exception>                                <- process dies
    

    MountItemDispatcher handles it as designed. But it escapes to GuardedFrameCallback, reaches ReactHostDelegate.handleInstanceException (Expo's ExpoReactHostFactory.kt), and lands in expo-updates' ErrorRecovery. That listener is live for ~10s after the first render; its pipeline is reduced to [WAIT_FOR_REMOTE_UPDATE, CRASH] once content has appeared, so with no update to fetch it runs Task.CRASH and rethrows on its own handler thread.

    Two consequences that may be useful to others here:

    • On Expo apps this only bites shortly after a cold start, which can make it look intermittent or environment-dependent.
    • It cannot be turned off from app config. disableAntiBrickingMeasures does not gate this path — it only guards updates URL overriding.

    Applying the fix suggested above. addViewAt still calls the throwing getViewState, while getNullableViewState already exists in the same file and is used in five other places (including updateLayout, which was hardened earlier). Patched addViewAt to use it and log a soft exception instead of throwing — which is what RetryableMountingLayerException seems to ask for by name.

    Not yet verified on a build; will report back either way, since a previous commenter reported still crashing after the same change.

  73. junlongtao2 commented on Sep 10, 2026

    @junlongtao2

    Reporting back as promised — and with a negative result that may be useful to others in this thread, particularly @sagnik2001 who reported still crashing after applying the same change.

    Patching node_modules/react-native/**.java does not affect an Android build at all.

    I applied the getNullableViewState guard to addViewAt via pnpm's native patch mechanism, confirmed it was present along the path the app actually resolves, ran a real cloud build, and then checked the resulting APK:

    "addViewAt: no viewState"            (string I added)      → 0 hits across all 7 dex files
    "Unable to find viewState for tag"   (stock getViewState)  → 3 hits in classes3.dex
    

    The control string proves the search itself works — the patch simply is not in the binary.

    Why: the generated android/app/build.gradle declares

    implementation("com.facebook.react:react-android")

    i.e. the prebuilt AAR from Maven, and settings.gradle only includeBuilds the gradle-plugin (and, for Expo, the autolinking plugins). ReactAndroid is never part of the Gradle build, so nothing under node_modules/react-native/ReactAndroid/src/main/java/ is ever compiled. This is standard for RN 0.71+, but it means patch-package / pnpm patch are silently no-ops for Android Java sources — the patch applies cleanly to node_modules, install succeeds, the build succeeds, and the change is simply absent.

    So anyone who "applied the patch and still crashed" may not have been testing the patch at all. Verifying by grepping the built APK's dex for a string you introduced (with a known-present string as a control) is a cheap way to check.

    Getting this fix into an app build would require either building ReactAndroid from source, or injecting an overriding class into the app's own source set — both considerably more involved than a dependency patch. I have not pursued either.

    The underlying issue and the expo-updates escalation path I described earlier are unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions