-
-
Notifications
You must be signed in to change notification settings - Fork 337
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
Expo RN app crashes on real android device after migrating to expo environment variables: (__kernel_rt_sigreturn SIGSEGV: Segfault) #4123
Comments
Hey @amakarevich11 thanks for reporting - we'll investigate and follow up here. Quick question for clarification - what happens on a production build? And can you reproduce this with a clean project setup? |
We don't create production builds yet. I will check it with clean project setup and let you know. |
It doesn't reproduce on clean expo project. |
@amakarevich11 thanks for testing this so quickly - do you see anything particular that's different in the setup/config from your actual RN Expo app? It would be great if you'd manage to repro the crash on the clean project. |
@kahest I don't see anything unusual in our actual expo app configuration, we created our project about 1 month ago, so it is pretty fresh and don't have a lot of configuration compare to clean project. But we migrate code base from bare react native project and add a lot of third party dependencies, maybe it can affect it someway. We noticed that it start to crash after migrating react native config to expo variables, before this commit it works ok with configured sentry. |
Thank you for the prompt response @amakarevich11 🙇
Could you provide more details on the applied changes that trigger the crash and a |
Tried with a newly created react-native app version 0.72.0 and fails. |
Hey @xgenem 👋 |
Hi @antonis, here are some more info:
The Sentry SDK installed
Crash happens on Android & iOS devices but only on Release builds, not during development. |
Thank you for the added information @xgenem 🙇 |
Hi @antonis this is noted. I have tried so many things already and the issue persists. I suspect it's other packages causing the issues, but after disabling Sentry the app does not crash in production. Thank you so much! Will wait. |
Hey @xgenem 👋
Since we are not able to reproduce this on a new RN project with your configuration, could you provide more details on the dependencies you are using in case we can reproduce the crash? 🙇 |
Hi @antonis below is the complete contents of my {
"name": "Project",
"version": "0.0.1",
"private": true,
"scripts": {
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'",
"android": "react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"postinstall": "npx patch-package"
},
"dependencies": {
"@bam.tech/react-native-image-resizer": "^3.0.5",
"@gorhom/bottom-sheet": "^4.4.7",
"@invertase/react-native-apple-authentication": "^2.3.0",
"@react-native-async-storage/async-storage": "^1.18.1",
"@react-native-camera-roll/camera-roll": "^5.4.0",
"@react-native-clipboard/clipboard": "^1.11.2",
"@react-native-community/blur": "^4.4.0",
"@react-native-community/checkbox": "^0.5.15",
"@react-native-community/netinfo": "^11.3.1",
"@react-native-cookies/cookies": "^6.2.1",
"@react-native-firebase/app": "20.1.0",
"@react-native-firebase/crashlytics": "20.1.0",
"@react-native-firebase/messaging": "20.1.0",
"@react-native-firebase/remote-config": "20.1.0",
"@react-native-google-signin/google-signin": "^11.0.0",
"@react-native/gradle-plugin": "^0.74.85",
"@react-navigation/native": "^6.1.17",
"@react-navigation/native-stack": "^6.9.12",
"@sentry/react-native": "^5.33.2",
"@tanstack/react-query": "^4.29.7",
"axios": "^1.4.0",
"base-64": "^1.0.0",
"date-fns": "^2.30.0",
"jwt-decode": "^4.0.0",
"lord-icon-element": "^4.1.1",
"lottie-react-native": "^5.1.6",
"moment": "2.30.1",
"nativewind": "^2.0.11",
"react": "18.2.0",
"react-content-loader": "^6.2.1",
"react-geocode": "^0.2.3",
"react-native": "0.72.0",
"react-native-agora-chat": "^1.1.1",
"react-native-app-badge": "^0.1.5",
"react-native-branch": "^5.8.0",
"react-native-camera": "^4.2.1",
"react-native-check-version": "^1.3.0",
"react-native-config": "^1.5.1",
"react-native-countdown-circle-timer": "^3.2.1",
"react-native-countdown-component": "^2.7.1",
"react-native-create-thumbnail": "^2.0.0-rc.2",
"react-native-device-info": "^10.3.0",
"react-native-document-picker": "^8.2.0",
"react-native-dots-pagination": "^0.3.0",
"react-native-element-dropdown": "^2.9.0",
"react-native-fbsdk-next": "13",
"react-native-file-access": "^2.6.0",
"react-native-gesture-handler": "^2.17.1",
"react-native-get-random-values": "^1.11.0",
"react-native-gifted-chat": "^2.4.0",
"react-native-image-picker": "^7.1.2",
"react-native-instagram-login": "^2.0.6",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-linear-gradient": "^2.7.3",
"react-native-maps": "1.15.3",
"react-native-pager-view": "^6.2.0",
"react-native-permissions": "^3.8.0",
"react-native-push-notification": "^8.1.1",
"react-native-raw-bottom-sheet": "^2.2.0",
"react-native-reanimated": "^3.14.0",
"react-native-responsive-screen": "^1.4.2",
"react-native-safe-area-context": "^4.5.2",
"react-native-screens": "^3.20.0",
"react-native-sha256": "^1.4.10",
"react-native-size-matters": "^0.4.2",
"react-native-svg": "^13.9.0",
"react-native-tab-view": "^3.5.2",
"react-native-uuid": "^2.0.1",
"react-native-video": "^6.5.0",
"react-native-webview": "^11.26.1",
"react-router-dom": "^6.22.1",
"whatwg-fetch": "^3.6.2",
"zustand": "4.5.2"
},
"reactNativePermissionsIOS": [
"AppTrackingTransparency",
"Camera",
"FaceID",
"MediaLibrary",
"Microphone",
"Notifications",
"PhotoLibrary",
"PhotoLibraryAddOnly",
"Reminders",
"StoreKit"
],
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/preset-env": "^7.20.0",
"@babel/runtime": "^7.20.0",
"@react-native/eslint-config": "^0.72.2",
"@react-native/metro-config": "^0.76.0-rc.3",
"@tsconfig/react-native": "^3.0.5",
"@types/jest": "^29.5.12",
"@types/lodash": "4.17.5",
"@types/metro-config": "^0.76.3",
"@types/react": "^18.2.77",
"@types/react-test-renderer": "^18.0.7",
"babel-jest": "^29.2.1",
"babel-plugin-module-resolver": "^5.0.2",
"eslint": "^8.19.0",
"eslint-plugin-simple-import-sort": "^12.0.0",
"jest": "^29.2.1",
"metro-react-native-babel-preset": "0.76.5",
"prettier": "^2.4.1",
"react-test-renderer": "18.2.0",
"tailwindcss": "3.3.2",
"typescript": "^5.4.5"
},
"jest": {
"preset": "react-native"
},
"engines": {
"node": ">=16"
}
} |
Hello @antonis . Here is our package.json, just in case in will be useful for you {
"name": "Project",
"version": "1.0.0",
"private": true,
"scripts": {
"prebuild": "expo prebuild --clean",
"start": "expo start --dev-client",
"start:development": "NODE_ENV=development expo start --dev-client --clear",
"android": "expo run:android",
"android:development": "NODE_ENV=development expo run:android --device",
"ios": "expo run:ios",
"ios:development": "NODE_ENV=development expo run:ios --device",
"check-eslint": "eslint .",
"check-typescript": "bash -c tsc --noEmit",
"prepare": "husky",
"postinstall": "patch-package"
},
"dependencies": {
"@config-plugins/react-native-blob-util": "8.0.0",
"@config-plugins/react-native-pdf": "8.0.0",
"@invertase/react-native-apple-authentication": "2.4.0",
"@react-native-community/datetimepicker": "8.0.1",
"@react-native-firebase/analytics": "20.5.0",
"@react-native-firebase/app": "20.5.0",
"@react-native-firebase/crashlytics": "20.5.0",
"@react-native-firebase/messaging": "20.5.0",
"@react-native-firebase/perf": "20.5.0",
"@react-native-google-signin/google-signin": "13.1.0",
"@react-navigation/bottom-tabs": "6.6.1",
"@react-navigation/native": "6.1.18",
"@react-navigation/native-stack": "6.11.0",
"@reduxjs/toolkit": "2.2.7",
"@shopify/flash-list": "1.7.1",
"@tolgee/react": "5.29.1",
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
"axios": "1.7.7",
"dayjs": "1.11.13",
"expo": "51.0.37",
"expo-asset": "10.0.10",
"expo-build-properties": "0.12.5",
"expo-clipboard": "6.0.3",
"expo-dev-client": "4.0.28",
"expo-font": "12.0.10",
"expo-haptics": "13.0.1",
"expo-image-picker": "15.0.7",
"expo-linking": "6.3.1",
"expo-local-authentication": "14.0.1",
"expo-status-bar": "1.12.1",
"fast-text-encoding": "1.0.6",
"formik": "2.4.6",
"google-libphonenumber": "3.2.38",
"lodash": "4.17.21",
"lz4js": "0.2.0",
"numeral": "2.0.6",
"patch-package": "8.0.0",
"postinstall-postinstall": "2.1.0",
"react": "18.2.0",
"react-native": "0.74.5",
"react-native-blob-util": "0.19.11",
"react-native-bootsplash": "6.1.3",
"react-native-chart-kit": "6.12.0",
"react-native-country-flag": "2.0.2",
"react-native-device-info": "13.0.0",
"react-native-gesture-handler": "2.16.2",
"react-native-get-random-values": "1.11.0",
"react-native-keyboard-controller": "1.14.0",
"react-native-keychain": "9.0.0",
"react-native-localize": "3.2.1",
"react-native-mmkv": "3.0.1",
"react-native-pager-view": "6.3.0",
"react-native-pdf": "6.7.5",
"react-native-permissions": "4.1.5",
"react-native-reanimated": "3.15.4",
"react-native-reanimated-carousel": "4.0.0-canary.16",
"react-native-safe-area-context": "4.11.0",
"react-native-screens": "3.31.1",
"react-native-tab-view": "3.5.2",
"react-native-webview": "13.12.3",
"react-redux": "9.1.2",
"redux-persist": "6.0.0",
"uuid": "10.0.0",
"yup": "1.4.0"
},
"devDependencies": {
"@babel/core": "7.25.2",
"@babel/preset-env": "7.25.4",
"@commitlint/cli": "19.5.0",
"@commitlint/config-conventional": "19.5.0",
"@ianvs/prettier-plugin-sort-imports": "4.3.1",
"@react-native/eslint-config": "0.75.3",
"@types/fast-text-encoding": "1.0.3",
"@types/google-libphonenumber": "7.4.30",
"@types/lodash": "4.17.9",
"@types/lz4js": "0.2.1",
"@types/numeral": "2.0.5",
"@types/react": "18.2.79",
"@types/react-native-keychain": "3.1.0",
"@types/uuid": "10.0.0",
"babel-plugin-module-resolver": "5.0.2",
"eslint": "8.57.1",
"eslint-config-airbnb": "19.0.4",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-import": "2.30.0",
"eslint-plugin-jsx-a11y": "6.10.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-react": "7.37.0",
"eslint-plugin-react-hooks": "4.6.2",
"eslint-plugin-react-native": "4.1.0",
"eslint-plugin-react-native-globals": "0.1.2",
"eslint-plugin-unused-imports": "4.1.4",
"husky": "9.1.6",
"lint-staged": "15.2.10",
"prettier": "3.3.3",
"react-native-svg": "15.2.0",
"react-native-svg-transformer": "1.5.0",
"typescript": "5.3.3"
},
"expo": {
"autolinking": {
"exclude": ["expo-splash-screen"]
}
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": ["prettier --write", "eslint --fix", "bash -c tsc --noEmit"]
},
"packageManager": "[email protected]+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
} |
I have the following issue:
I'm experiencing a critical issue where my Expo React Native app crashes almost immediately after launching on real Android devices. The app works perfectly fine on emulators (both iOS and Android). The crash started occurring after migrating from react-native-config to Expo's environment variables system. After removing sentry from the project crash was disappeared. When running the app with the environment variable EXPO_NO_DOTENV=1, it works without crashing.
Environment:
Expo SDK Version: 51.0.32
Sentry SDK: @sentry/react-native (5.33.0)
React Native Version: 0.74.5
Platform: Android (Real Devices Only)
Development OS: [e.g., macOS Ventura 13.5]
Error Messages:
Sentry reports the following error: __kernel_rt_sigreturn SIGSEGV: Segfault.
Configuration:
(
@sentry/react-native
)(package.json)
Steps to Reproduce:
The text was updated successfully, but these errors were encountered: