expo: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid XXXXX (mqt_js), pid XXX (st.exp.exponent)

🐛 Bug Report

Summary of Issue

I am constantly and vigorously getting above mentioned error on expo client app and standalone app after updating expo-cli to the latest version, updating my mac to big Sur and expo publishing some changes to app, I never get this error during development (UPDATE: reinstalling all global and project dependancies after clearing yarn cache and restarting, expo-client app is crashing on physical devices also in development mode, simulators seems to be working fine for now), only in expo-client when testing published version and standalone app, some changes that I published were only some stylesheet fixes. had nothing to do with anything else, after crashes I reverted those changes and published again but app is still crashing after publishing old code.

Environment - output of expo diagnostics & the platform(s) you’re targeting

Expo CLI 4.0.6 environment info:
    System:
      OS: macOS 11.0.1
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 12.16.1 - ~/.nvm/versions/node/v12.16.1/bin/node
      Yarn: 1.22.10 - /usr/local/bin/yarn
      npm: 6.14.9 - ~/.nvm/versions/node/v12.16.1/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.8.4 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: iOS 14.2, DriverKit 20.0, macOS 11.0, tvOS 14.2, watchOS 7.1
      Android SDK:
        API Levels: 23, 24, 26, 28, 29
        Build Tools: 23.0.1, 23.0.2, 25.0.0, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 26.0.3, 27.0.2, 27.0.3, 28.0.2, 28.0.3, 29.0.0, 29.0.0, 29.0.2, 29.0.3, 30.0.0
        System Images: android-24 | Google Play Intel x86 Atom, android-26 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64, android-28 | Google Play Intel x86 Atom, android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom
    IDEs:
      Android Studio: 4.1 AI-201.8743.12.41.6858069
      Xcode: 12.2/12B45b - /usr/bin/xcodebuild
    npmPackages:
      expo: ^39.0.0 => 39.0.4
      react: 16.13.1 => 16.13.1
      react-dom: 16.13.1 => 16.13.1
      react-native: https://github.com/expo/react-native/archive/sdk-39.0.4.tar.gz => 0.63.2
      react-navigation: ^4.4.2 => 4.4.3
    Expo Workflow: managed

Platforms: for now crashing only on Android, still investigating iOS behavior, will report on it soon. package.json:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "eject": "expo eject",
    "lint": "./node_modules/.bin/eslint .",
    "lint-fix": "./node_modules/.bin/eslint . --fix",
    "postinstall": "patch-package"
  },
  "dependencies": {
    "@bugsnag/expo": "^7.4.0",
    "@codler/react-native-keyboard-aware-scroll-view": "^1.0.1",
    "@expo/vector-icons": "^10.0.0",
    "@react-native-community/datetimepicker": "3.0.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "5.9.6",
    "@summerkiflain/react-native-scrollable-tabview": "^0.10.9",
    "axios": "^0.21.0",
    "expo": "^39.0.0",
    "expo-asset": "~8.2.0",
    "expo-constants": "~9.2.0",
    "expo-firebase-analytics": "~2.5.0",
    "expo-firebase-core": "~1.2.0",
    "expo-font": "~8.3.0",
    "expo-linear-gradient": "~8.3.0",
    "expo-notifications": "~0.7.2",
    "expo-permissions": "~9.3.0",
    "expo-screen-orientation": "~2.0.0",
    "expo-store-review": "~2.2.0",
    "expo-updates": "~0.3.3",
    "expo-web-browser": "~8.5.0",
    "fuse.js": "^6.4.1",
    "lodash": "^4.17.20",
    "moment": "^2.29.1",
    "native-base": "^2.13.14",
    "native-base-shoutem-theme": "^0.3.1",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-39.0.4.tar.gz",
    "react-native-app-intro-slider": "^4.0.4",
    "react-native-appearance": "~0.3.3",
    "react-native-chart-kit": "^6.6.1",
    "react-native-conical-gradient-progress": "https://github.com/summerkiflain/react-native-conical-gradient-progress",
    "react-native-countdown-component": "^2.7.1",
    "react-native-easy-toast": "^1.2.0",
    "react-native-gesture-handler": "~1.7.0",
    "react-native-gravatar": "^1.0.2",
    "react-native-image-zoom-viewer": "^3.0.1",
    "react-native-iphone-x-helper": "^1.2.1",
    "react-native-loading-spinner-overlay": "2.0.0",
    "react-native-modal": "^11.5.6",
    "react-native-modal-datetime-picker": "^9.0.0",
    "react-native-multiple-select": "^0.5.6",
    "react-native-reanimated": "~1.13.0",
    "react-native-responsive-fontsize": "^0.5.0",
    "react-native-safe-area-context": "3.1.4",
    "react-native-screens": "~2.10.1",
    "react-native-sideswipe": "^1.5.0",
    "react-native-snap-carousel": "^3.9.1",
    "react-native-svg": "12.1.0",
    "react-native-switch-selector": "^2.0.6",
    "react-native-view-more-text": "^2.1.0",
    "react-navigation": "^4.4.2",
    "react-navigation-addon-search-layout": "^0.14.1",
    "react-navigation-collapsible": "^3.0.3",
    "react-navigation-drawer": "^2.5.2",
    "react-navigation-stack": "^1.10.3",
    "react-navigation-tabs": "^2.9.2",
    "react-redux": "^7.2.1",
    "redux": "^4.0.5",
    "redux-devtools-extension": "^2.13.8",
    "redux-persist": "^6.0.0",
    "redux-persist-expo-filesystem": "^2.0.0",
    "redux-thunk": "^2.3.0",
    "rn-tooltip": "^3.0.0",
    "sentry-expo": "^3.0.2"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^4.4.0",
    "@typescript-eslint/parser": "^4.4.0",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "babel-preset-expo": "^8.3.0",
    "eslint": "^7.11.0",
    "eslint-config-universe": "^6.0.0",
    "husky": "^4.3.0",
    "patch-package": "^6.2.2",
    "postinstall-postinstall": "^2.1.0",
    "prettier": "^2.1.2",
    "pretty-quick": "^3.1.0",
    "redux-immutable-state-invariant": "^2.1.0",
    "typescript": "~3.9.2"
  },
  "husky": {
    "hooks": {
      "pre-commit": "pretty-quick --staged"
    }
  },
  "private": true
}

Reproducible Demo

https://expo.io/@summersyed/projects/gamesTracker?release-channel=testing

Steps to Reproduce

Scan the QR code and browse the app, it crashes randomly, sometimes tapping on items, sometimes during react-navigation transitions, sometime without performing any task, sometimes it doesn’t crash whatever the heck you keep doing. has nothing to do with how many other apps are opened besides it.

Expected Behavior vs Actual Behavior

Expected Behavior: The app should not crash unexpectedly, if its crashes we (managed flow) users should have a way to track the issue even if it is somewhere in the native code, so at least we know where to ask for help.

Actual Behavior: App crashes randomly without reporting any error to sentry or bugsnag, enabling Always show crash dialogue in android’s developers options shows the crash dialogue, where you can see the preview of crash: ]

I have 8 to 10 screenshots like this of yesterday, below is the dump state attached: https://filebin.net/9686dc6rfq7qyaa9/dumpstate-2020-11-28-22-25-26.txt?t=3n9odl7w ^ its a big file, search for Fatal Signal 11 or st.expo.exponent

I’ll add a minimal repo to the issue as soon as I am able to narrow down the reproduction steps to some libraries but for now it either looks like a toucable, transitions or memory management issue, I am not sure, just guessing by the behavior of app, any help is appreciated, I have tried to look everywhere before posting this issue, please don’t close it soon, maybe someone has an insight that can guide me in the right direction, I am available to provide any assistance / code required from me anytime.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 16 (4 by maintainers)

Most upvoted comments

the new jsc-android may fix the issue, but that may need new react native upgrade for expo sdk.

if you have EAS subscription, EAS Build is one way to upgrade jsc without waiting react native upgrade. try with

$ expo install jsc-android
$ eas build -p android

@summerkiflain Are you using expo firebase recaptcha by any chance? I just removed the “attemptInvisibleVerification={true}” from my code and the issue instantly resolved on android.