Skip to content

JS errors not appearing in Sentry dashboard #4208

@mmmoussa

Description

@mmmoussa

What React Native libraries do you use?

React Navigation, Hermes

Are you using sentry.io or on-premise?

sentry.io (SaS)

@sentry/react-native SDK Version

6.1.0

How does your development environment look like?

System:
OS: macOS 14.1.2
CPU: (10) arm64 Apple M1 Pro
Memory: 109.95 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.10.0
path: ~/.n/bin/node
Yarn:
version: 3.6.4
path: ~/.yarn/bin/yarn
npm:
version: 10.2.3
path: ~/.n/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.15.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.0
- iOS 17.0
- macOS 14.0
- tvOS 17.0
- watchOS 10.0
Android SDK:
API Levels:
- "28"
- "30"
- "31"
- "32"
- "33"
- "34"
Build Tools:
- 30.0.2
- 30.0.3
- 31.0.0
- 32.0.0
- 32.1.0
- 33.0.0
- 33.0.0
- 33.0.1
- 34.0.0
- 35.0.0
System Images:
- android-26 | Google APIs ARM 64 v8a
- android-28 | ARM 64 v8a
- android-28 | Google APIs ARM 64 v8a
- android-28 | Google ARM64-V8a Play ARM 64 v8a
- android-29 | Google APIs ARM 64 v8a
- android-30 | Google APIs ARM 64 v8a
- android-31 | ARM 64 v8a
- android-31 | Google APIs ARM 64 v8a
- android-31 | Google Play ARM 64 v8a
- android-32 | Google APIs ARM 64 v8a
- android-32 | Google Play ARM 64 v8a
- android-33 | Google APIs ARM 64 v8a
- android-33 | Google Play ARM 64 v8a
- android-34 | Google Play ARM 64 v8a
Android NDK: 27.0.11902837-beta2
IDEs:
Android Studio: 2023.2 AI-232.10300.40.2321.11567975
Xcode:
version: 15.0.1/15A507
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.9
path: /usr/bin/javac
Ruby:
version: 3.3.5
path: /Users/mmmoussa/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 15.0.0
wanted: latest
react:
installed: 18.3.1
wanted: 18.3.1
react-native:
installed: 0.75.4
wanted: 0.75.4
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false

Sentry.init()

Sentry.init({
  dsn: SENTRY_DSN,
  debug: true,
  enabled: true,
})

Steps to Reproduce

  1. Build Android or iOS build as either debug or release build
  2. Add the following buttons to a screen in the app:
<Button title="Test JS Crash" onPress={() => {throw new Error('Test Sentry JS Crash Capturing')}} />
<Button title="Test Sentry captureException" onPress={() => {Sentry.captureException(new Error('Test Sentry captureException'))}} />
<Button title="Test Sentry native crash" onPress={() => {Sentry.nativeCrash()}} />
  1. Try pressing each of the buttons

Expected Result

All three buttons should lead to issues appearing in Sentry.

Actual Result

Only the third button (native crash) is reported in the Sentry dashboard, the other two are not.

For additional context:

  • We have been using Sentry for years, and this seems to have only become an issue within the last few months though we're having trouble pinpointing exactly when it started
  • Recently we increased our sampling rate from 1% to 100%. We observed an issue that seems related to this report through the Stats page of the Sentry dashboard. With 1% sampling rate we used to have most events being discarded as client discards under the sampling rate reason, and then a small amount being dropped due to network error and cache overflow. Now at 100% sampling rate, we see a similar amount of client discards, but they're all due to the other reasons, primarily being network error, cache overflow, event processor, and queue overflow. Only around 1% of errors are being accepted.
  • With our latest production releases, we do see a couple js errors reported for those releases, but they are incredibly rare compared with the native errors and with the prevalence we know they should have

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Done

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions