Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RCTBridge required dispatch_sync to load RCTDevLoadingView. This may lead to deadlocks #14766

Closed
haibert opened this issue Oct 16, 2021 · 7 comments
Labels
Development Builds needs validation Issue needs to be validated

Comments

@haibert
Copy link

haibert commented Oct 16, 2021

Summary

I'm not sure what this issue is arising from, It happened after I updated to 43 beta. It causes the app to crash during production but not in the development client.

Managed or bare workflow? If you have made manual changes inside of the ios/ or android/ directories in your project, the answer is bare!

managed

What platform(s) does this occur on?

iOS

Package versions

{
    "main": "node_modules/expo/AppEntry.js",
    "scripts": {
        "start": "expo start",
        "android": "expo start --android",
        "ios": "expo start --ios",
        "web": "expo start --web",
        "eject": "expo eject"
    },
    "dependencies": {
        "@expo-google-fonts/poppins": "^0.2.0",
        "@expo/vector-icons": "^12.0.0",
        "@gorhom/bottom-sheet": "4.0.0-alpha.25",
        "@motify/skeleton": "^0.16.0",
        "@react-native-async-storage/async-storage": "~1.15.0",
        "@react-native-community/blur": "^3.6.0",
        "@react-native-community/datetimepicker": "3.5.2",
        "@react-native-community/masked-view": "0.1.10",
        "@react-navigation/bottom-tabs": "5.x",
        "@react-navigation/drawer": "^5.x",
        "@react-navigation/native": "^5.x",
        "@react-navigation/stack": "^5.x",
        "chroma-js": "^2.1.2",
        "eslint": "^7.32.0",
        "eslint-config-airbnb": "^18.2.1",
        "eslint-plugin-import": "^2.24.2",
        "eslint-plugin-jsx-a11y": "^6.4.1",
        "eslint-plugin-react": "^7.26.1",
        "eslint-plugin-react-native": "^3.11.0",
        "expo": "^43.0.0-beta.4",
        "expo-app-loading": "~1.2.0",
        "expo-application": "~4.0.0",
        "expo-av": "~10.1.1",
        "expo-barcode-scanner": "~11.1.1",
        "expo-camera": "~12.0.2",
        "expo-constants": "~12.1.1",
        "expo-dev-client": "~0.6.1",
        "expo-device": "~4.0.2",
        "expo-file-system": "~13.0.2",
        "expo-font": "~10.0.2",
        "expo-haptics": "~11.0.2",
        "expo-image-manipulator": "~10.1.1",
        "expo-image-picker": "~11.0.2",
        "expo-linear-gradient": "~10.0.2",
        "expo-media-library": "~13.0.2",
        "expo-notifications": "~0.13.2",
        "expo-sqlite": "~10.0.2",
        "expo-status-bar": "~1.1.0",
        "expo-task-manager": "~10.0.2",
        "expo-updates": "~0.10.4",
        "formik": "^2.2.9",
        "lottie-react-native": "4.0.3",
        "moment": "^2.29.1",
        "moti": "^0.16.0",
        "react": "17.0.1",
        "react-dom": "17.0.1",
        "react-native": "0.64.2",
        "react-native-big-list": "1.4.2",
        "react-native-console-time-polyfill": "^1.2.3",
        "react-native-date-picker": "^4.1.0",
        "react-native-elements": "^3.3.2",
        "react-native-fast-image": "^8.5.11",
        "react-native-gesture-handler": "~1.10.2",
        "react-native-paper": "^4.9.2",
        "react-native-qrcode-svg": "^6.1.1",
        "react-native-reanimated": "~2.2.0",
        "react-native-redash": "16.2.0",
        "react-native-safe-area-context": "3.3.2",
        "react-native-screens": "~3.8.0",
        "react-native-shared-element": "0.8.2",
        "react-native-static-safe-area-insets": "^2.1.1",
        "react-native-svg": "12.1.1",
        "react-native-vector-icons": "^8.1.0",
        "react-native-view-shot": "3.1.2",
        "react-native-vision-camera": "^2.9.3",
        "react-native-web": "0.17.1",
        "react-native-windows": "^0.64.3",
        "react-navigation-shared-element": "^3.1.2",
        "react-redux": "^7.2.4",
        "recyclerlistview": "^3.0.5",
        "redux": "^4.1.1",
        "redux-devtools-extension": "^2.13.9",
        "redux-persist": "^6.0.0",
        "redux-thunk": "^2.3.0",
        "sentry-expo": "^4.0.0",
        "yup": "^0.32.9",
        "yup-phone": "^1.2.19"
    },
    "devDependencies": {
        "@babel/core": "^7.12.9",
        "eslint-plugin-react-hooks": "^4.2.0",
        "typescript": "~4.3.5"
    },
    "private": true
}

Environment

  Expo CLI 4.12.1 environment info:
    System:
      OS: macOS 11.6
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 14.15.1 - /usr/local/bin/node
      Yarn: 1.22.10 - /usr/local/bin/yarn
      npm: 7.8.0 - /usr/local/bin/npm
      Watchman: 2021.10.04.00 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.10.1 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: iOS 15.0, DriverKit 20.4, macOS 11.3, tvOS 15.0, watchOS 8.0
    IDEs:
      Android Studio: 4.1 AI-201.8743.12.41.6858069
      Xcode: 13.0/13A233 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^43.0.0-beta.4 => 43.0.0-beta.4 
      react: 17.0.1 => 17.0.1 
      react-dom: 17.0.1 => 17.0.1 
      react-native: 0.64.2 => 0.64.2 
      react-native-web: 0.17.1 => 0.17.1 
    npmGlobalPackages:
      expo-cli: 4.12.1
    Expo Workflow: managed

Reproducible demo or steps to reproduce from a blank project

https://github.com/haibert/sh43

Stacktrace (if a crash is involved)


RCTBridge required dispatch_sync to load RCTDevLoadingView. This may lead to deadlocks
at node_modules/react-native/Libraries/Utilities/RCTLog.js:34:8 in logIfNoNativeHook
@haibert haibert added Custom Client needs validation Issue needs to be validated labels Oct 16, 2021
@haibert
Copy link
Author

haibert commented Oct 19, 2021

I updated I ran EXPO_BETA=1 expo upgrade just to upgrade the packages once more and it bumped expo-dev-client from 0.6.1 to 0.6.2 but still same issue. I read somewhere this is a common issue that came from RN 0.64 but the solution included modifying the AppDelegate.m which I cant and really shouldn't do because i'm in a managed work flow.

@brentvatne
Copy link
Member

we should track in facebook/react-native#16376

this doesn't cause any crash in your app, it is just a warning and occurs only in development. will require changes to react-native itself to resolve

@haibert
Copy link
Author

haibert commented Oct 20, 2021

After applying process of elimination by commenting out chunks of my app I was able to figure out that the crash was occurring when the bottom tab navigation would mount. I noticed that I have lottie views as my bottom tab button icons which is not supposed to be problematic. I commented them out and oddly enough the app stopped crashing. What's even more strange is that when I uncommented them, meaning I put the lottie views back where they were, the app continued to work fine and I could not reproduce the crash that has been giving me a headache for 3 days. Hope this helps someone..

@mwegener-com
Copy link

same problem with current dev client and expo 43

@haibert
Copy link
Author

haibert commented Oct 22, 2021

@mwegener-com Is your app also only crashing in production? i'm pulling my hair out, some of my builds cause a crash in production for no reason, and some others work..

@mwegener-com
Copy link

I'm not sure. It isn't crashing in the dev client.

@brentvatne
Copy link
Member

referring to my above comment:

we should track in facebook/react-native#16376

this doesn't cause any crash in your app, it is just a warning and occurs only in development. will require changes to react-native itself to resolve

locking this issue

@expo expo locked and limited conversation to collaborators Oct 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development Builds needs validation Issue needs to be validated
Projects
None yet
Development

No branches or pull requests

4 participants