What React Native libraries do you use?
RN New Architecture
Are you using sentry.io or on-premise?
on-premise (Self-Hosted)
@sentry/react-native SDK Version
6.20.0
How does your development environment look like?
System:
OS: macOS 15.3.2
CPU: (11) arm64 Apple M3 Pro
Memory: 345.23 MB / 18.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 23.11.0
path: /opt/homebrew/bin/node
Yarn:
version: 1.22.22
path: /opt/homebrew/bin/yarn
npm:
version: 10.9.2
path: /opt/homebrew/bin/npm
Watchman:
version: 2025.04.14.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.4
- iOS 18.4
- macOS 15.4
- tvOS 18.4
- visionOS 2.4
- watchOS 11.4
Android SDK: Not Found
IDEs:
Android Studio: 2024.3 AI-243.24978.46.2431.13363775
Xcode:
version: 16.3/16E140
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.15
path: /usr/bin/javac
Ruby:
version: 3.4.5
path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 18.0.0
wanted: 18.0.0
react:
installed: 19.0.0
wanted: 19.0.0
react-native:
installed: 0.79.1
wanted: 0.79.1
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Sentry.init()
init({
dsn: SENTRY_DATA_SOURCE_NAME,
environment: getEnv(),
onReady: options.onReady,
debug: true,
});
Steps to Reproduce
- In a React component, call a non-function property to force a crash:
export const ProfileScreen = () => {
const { data: userData } = useValidateTokenQuery();
// force a crash
userData.data.phoneNumber();
return <Text>Profile</Text>;
};
- Run the app in release build on Android.
- App crashes immediately.
- Event is not visible in Sentry dashboard.
ios works as expected.
Sentry.nativeCrash() successfully sends crash reports on both Android and iOS. This shows that the Sentry setup (initialization, DSN, integrations) is working correctly, and the issue is most likely specific to handling fatal JS exceptions on Android.
Adb logs:
[11:11:42] I | ReactNativeJS ▶︎ initialize sentry
[11:11:42] I | ReactNativeJS ▶︎ 'Sentry Logger [log]:', 'Using Hermes native promise rejection tracking'
│ 'Sentry Logger [log]:', 'Unhandled promise rejections will be caught by Sentry.'
│ 'Sentry Logger [log]:', 'Integration installed: ReactNativeErrorHandlers'
│ 'Sentry Logger [log]:', 'Integration installed: NativeLinkedErrors'
│ 'Sentry Logger [log]:', 'Integration installed: InboundFilters'
└ 'Sentry Logger [log]:', 'Integration installed: FunctionToString'
[11:11:42] I | ReactNativeJS ▶︎ 'Sentry Logger [log]:', 'Integration installed: Breadcrumbs'
│ 'Sentry Logger [log]:', 'Integration installed: Dedupe'
│ 'Sentry Logger [log]:', 'Integration installed: HttpContext'
│ 'Sentry Logger [log]:', 'Integration installed: Release'
│ 'Sentry Logger [log]:', 'Integration installed: EventOrigin'
│ 'Sentry Logger [log]:', 'Integration installed: SdkInfo'
│ 'Sentry Logger [log]:', 'Integration installed: ReactNativeInfo'
│ 'Sentry Logger [log]:', 'Integration installed: RewriteFrames'
│ 'Sentry Logger [log]:', 'Integration installed: DeviceContext'
└ 'Sentry Logger [log]:', 'Integration installed: ModulesLoader'
when crash occurs:
[11:12:33] E | ReactNativeJS ▶︎ TypeError: '+44 20 7123 4567' is not a function
│
│ This error is located at:
│ at anonymous (address at index.android.bundle:1:3252630)
│ at StaticContainer (address at index.android.bundle:1:1997500)
│ at EnsureSingleNavigator (address at index.android.bundle:1:1937898)
│ at SceneView (address at index.android.bundle:1:1994892)
│ at RNSScreenContentWrapper ()
│ at ScreenContentWrapper ()
│ at DebugContainer ()
│ at RNSScreen ()
│ at anonymous (address at index.android.bundle:1:603669)
│ at Suspender (address at index.android.bundle:1:2466073)
│ at Suspense ()
│ at Freeze (address at index.android.bundle:1:2466134)
│ at DelayedFreeze (address at index.android.bundle:1:2465289)
│ at InnerScreen (address at index.android.bundle:1:2462776)
│ at anonymous (address at index.android.bundle:1:2464575)
│ at ScreenStackItem (address at index.android.bundle:1:2472251)
│ at SceneView (address at index.android.bundle:1:2451191)
│ at RNSScreenStack ()
│ at anonymous (address at index.android.bundle:1:2471500)
│ at ScreenStack (address at index.android.bundle:1:2470480)
│ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
│ at SafeAreaProviderCompat (address at index.android.bundle:1:2065372)
│ at NativeStackView (address at index.android.bundle:1:2449657)
│ at PreventRemoveProvider (address at index.android.bundle:1:1943014)
│ at NavigationContent (address at index.android.bundle:1:1998983)
│ at anonymous (address at index.android.bundle:1:1998886)
│ at NativeStackNavigator (address at index.android.bundle:1:2478886)
│ at AppStack ()
│ at StaticContainer (address at index.android.bundle:1:1997500)
│ at EnsureSingleNavigator (address at index.android.bundle:1:1937898)
│ at SceneView (address at index.android.bundle:1:1994892)
│ at RNSScreenContentWrapper ()
│ at ScreenContentWrapper ()
│ at DebugContainer ()
│ at RNSScreen ()
│ at anonymous (address at index.android.bundle:1:603669)
│ at Suspender (address at index.android.bundle:1:2466073)
│ at Suspense ()
│ at Freeze (address at index.android.bundle:1:2466134)
│ at DelayedFreeze (address at index.android.bundle:1:2465289)
│ at InnerScreen (address at index.android.bundle:1:2462776)
│ at anonymous (address at index.android.bundle:1:2464575)
│ at ScreenStackItem (address at index.android.bundle:1:2472251)
│ at SceneView (address at index.android.bundle:1:2451191)
│ at RNSScreenStack ()
│ at anonymous (address at index.android.bundle:1:2471500)
│ at ScreenStack (address at index.android.bundle:1:2470480)
│ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
│ at SafeAreaProviderCompat (address at index.android.bundle:1:2065372)
│ at NativeStackView (address at index.android.bundle:1:2449657)
│ at PreventRemoveProvider (address at index.android.bundle:1:1943014)
│ at NavigationContent (address at index.android.bundle:1:1998983)
│ at anonymous (address at index.android.bundle:1:1998886)
│ at NativeStackNavigator (address at index.android.bundle:1:2478886)
│ at MainStack (address at index.android.bundle:1:2448262)
│ at ThemeProvider (address at index.android.bundle:1:1938629)
│ at EnsureSingleNavigator (address at index.android.bundle:1:1937898)
│ at BaseNavigationContainer (address at index.android.bundle:1:1907531)
│ at NavigationContainerInner (address at index.android.bundle:1:2006904)
│ at RootNavigationContainer ()
│ at PortalProviderComponent (address at index.android.bundle:1:2139458)
│ at AuthContext (address at index.android.bundle:1:2069637)
│ at Provider (address at index.android.bundle:1:2159026)
│ at ScreenModalContext (address at index.android.bundle:1:2069637)
│ at PortalProviderComponent (address at index.android.bundle:1:2139458)
│ at BottomSheetModalProviderWrapper (address at index.android.bundle:1:2141745)
│ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
│ at ScreenDimensionsWrapper (address at index.android.bundle:1:1897914)
│ at DimensionsContext (address at index.android.bundle:1:2069637)
│ at ScreenDimensionsProvider (address at index.android.bundle:1:1898081)
│ at RNCSafeAreaProvider ()
│ at SafeAreaProvider (address at index.android.bundle:1:1894159)
│ at anonymous (address at index.android.bundle:1:1884763)
│ at RNGestureHandlerRootView ()
└ at GestureHandlerRootView (address at index.android.bundle:1:1865570)
[11:12:33] E | ReactNativeJS ▶︎ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
└ at AppContainer (address at index.android.bundle:1:414784), js engine: hermes
[11:12:33] I | ReactNative ▶︎ [GESTURE HANDLER] Tearing down gesture handler registered for root view com.facebook.react.runtime.ReactSurfaceView{f9499ec V.E...... ......ID 0,0-1080,2340 #b}
Expected Result
Crash should be reported to Sentry dashboard (same as on iOS).
Actual Result
App crashes on Android, but no event is reported to Sentry.
What React Native libraries do you use?
RN New Architecture
Are you using sentry.io or on-premise?
on-premise (Self-Hosted)
@sentry/react-native SDK Version
6.20.0
How does your development environment look like?
Sentry.init()
Steps to Reproduce
ios works as expected.
Sentry.nativeCrash() successfully sends crash reports on both Android and iOS. This shows that the Sentry setup (initialization, DSN, integrations) is working correctly, and the issue is most likely specific to handling fatal JS exceptions on Android.
Adb logs:
[11:11:42] I | ReactNativeJS ▶︎ initialize sentry
[11:11:42] I | ReactNativeJS ▶︎ 'Sentry Logger [log]:', 'Using Hermes native promise rejection tracking'
│ 'Sentry Logger [log]:', 'Unhandled promise rejections will be caught by Sentry.'
│ 'Sentry Logger [log]:', 'Integration installed: ReactNativeErrorHandlers'
│ 'Sentry Logger [log]:', 'Integration installed: NativeLinkedErrors'
│ 'Sentry Logger [log]:', 'Integration installed: InboundFilters'
└ 'Sentry Logger [log]:', 'Integration installed: FunctionToString'
[11:11:42] I | ReactNativeJS ▶︎ 'Sentry Logger [log]:', 'Integration installed: Breadcrumbs'
│ 'Sentry Logger [log]:', 'Integration installed: Dedupe'
│ 'Sentry Logger [log]:', 'Integration installed: HttpContext'
│ 'Sentry Logger [log]:', 'Integration installed: Release'
│ 'Sentry Logger [log]:', 'Integration installed: EventOrigin'
│ 'Sentry Logger [log]:', 'Integration installed: SdkInfo'
│ 'Sentry Logger [log]:', 'Integration installed: ReactNativeInfo'
│ 'Sentry Logger [log]:', 'Integration installed: RewriteFrames'
│ 'Sentry Logger [log]:', 'Integration installed: DeviceContext'
└ 'Sentry Logger [log]:', 'Integration installed: ModulesLoader'
when crash occurs:
[11:12:33] E | ReactNativeJS ▶︎ TypeError: '+44 20 7123 4567' is not a function
│
│ This error is located at:
│ at anonymous (address at index.android.bundle:1:3252630)
│ at StaticContainer (address at index.android.bundle:1:1997500)
│ at EnsureSingleNavigator (address at index.android.bundle:1:1937898)
│ at SceneView (address at index.android.bundle:1:1994892)
│ at RNSScreenContentWrapper ()
│ at ScreenContentWrapper ()
│ at DebugContainer ()
│ at RNSScreen ()
│ at anonymous (address at index.android.bundle:1:603669)
│ at Suspender (address at index.android.bundle:1:2466073)
│ at Suspense ()
│ at Freeze (address at index.android.bundle:1:2466134)
│ at DelayedFreeze (address at index.android.bundle:1:2465289)
│ at InnerScreen (address at index.android.bundle:1:2462776)
│ at anonymous (address at index.android.bundle:1:2464575)
│ at ScreenStackItem (address at index.android.bundle:1:2472251)
│ at SceneView (address at index.android.bundle:1:2451191)
│ at RNSScreenStack ()
│ at anonymous (address at index.android.bundle:1:2471500)
│ at ScreenStack (address at index.android.bundle:1:2470480)
│ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
│ at SafeAreaProviderCompat (address at index.android.bundle:1:2065372)
│ at NativeStackView (address at index.android.bundle:1:2449657)
│ at PreventRemoveProvider (address at index.android.bundle:1:1943014)
│ at NavigationContent (address at index.android.bundle:1:1998983)
│ at anonymous (address at index.android.bundle:1:1998886)
│ at NativeStackNavigator (address at index.android.bundle:1:2478886)
│ at AppStack ()
│ at StaticContainer (address at index.android.bundle:1:1997500)
│ at EnsureSingleNavigator (address at index.android.bundle:1:1937898)
│ at SceneView (address at index.android.bundle:1:1994892)
│ at RNSScreenContentWrapper ()
│ at ScreenContentWrapper ()
│ at DebugContainer ()
│ at RNSScreen ()
│ at anonymous (address at index.android.bundle:1:603669)
│ at Suspender (address at index.android.bundle:1:2466073)
│ at Suspense ()
│ at Freeze (address at index.android.bundle:1:2466134)
│ at DelayedFreeze (address at index.android.bundle:1:2465289)
│ at InnerScreen (address at index.android.bundle:1:2462776)
│ at anonymous (address at index.android.bundle:1:2464575)
│ at ScreenStackItem (address at index.android.bundle:1:2472251)
│ at SceneView (address at index.android.bundle:1:2451191)
│ at RNSScreenStack ()
│ at anonymous (address at index.android.bundle:1:2471500)
│ at ScreenStack (address at index.android.bundle:1:2470480)
│ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
│ at SafeAreaProviderCompat (address at index.android.bundle:1:2065372)
│ at NativeStackView (address at index.android.bundle:1:2449657)
│ at PreventRemoveProvider (address at index.android.bundle:1:1943014)
│ at NavigationContent (address at index.android.bundle:1:1998983)
│ at anonymous (address at index.android.bundle:1:1998886)
│ at NativeStackNavigator (address at index.android.bundle:1:2478886)
│ at MainStack (address at index.android.bundle:1:2448262)
│ at ThemeProvider (address at index.android.bundle:1:1938629)
│ at EnsureSingleNavigator (address at index.android.bundle:1:1937898)
│ at BaseNavigationContainer (address at index.android.bundle:1:1907531)
│ at NavigationContainerInner (address at index.android.bundle:1:2006904)
│ at RootNavigationContainer ()
│ at PortalProviderComponent (address at index.android.bundle:1:2139458)
│ at AuthContext (address at index.android.bundle:1:2069637)
│ at Provider (address at index.android.bundle:1:2159026)
│ at ScreenModalContext (address at index.android.bundle:1:2069637)
│ at PortalProviderComponent (address at index.android.bundle:1:2139458)
│ at BottomSheetModalProviderWrapper (address at index.android.bundle:1:2141745)
│ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
│ at ScreenDimensionsWrapper (address at index.android.bundle:1:1897914)
│ at DimensionsContext (address at index.android.bundle:1:2069637)
│ at ScreenDimensionsProvider (address at index.android.bundle:1:1898081)
│ at RNCSafeAreaProvider ()
│ at SafeAreaProvider (address at index.android.bundle:1:1894159)
│ at anonymous (address at index.android.bundle:1:1884763)
│ at RNGestureHandlerRootView ()
└ at GestureHandlerRootView (address at index.android.bundle:1:1865570)
[11:12:33] E | ReactNativeJS ▶︎ at RCTView ()
│ at anonymous (address at index.android.bundle:1:415634)
└ at AppContainer (address at index.android.bundle:1:414784), js engine: hermes
[11:12:33] I | ReactNative ▶︎ [GESTURE HANDLER] Tearing down gesture handler registered for root view com.facebook.react.runtime.ReactSurfaceView{f9499ec V.E...... ......ID 0,0-1080,2340 #b}
Expected Result
Crash should be reported to Sentry dashboard (same as on iOS).
Actual Result
App crashes on Android, but no event is reported to Sentry.