Skip to content

[IOS] mobileReplayIntegration causes NSInvalidArgumentException crash with react-native-video in release builds #5548

@shimiBK

Description

@shimiBK

What React Native libraries do you use?

React Navigation, Hermes, RN New Architecture

Are you using sentry.io or on-premise?

sentry.io (SaS)

@sentry/react-native SDK Version

7.8.

How does your development environment look like?

System:
  OS: macOS 15.6.1
  CPU: (10) arm64 Apple M4
  Memory: 201.69 MB / 24.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.20.8
    path: /Users/shimibenkalifa/.nvm/versions/node/v18.20.8/bin/node
  Yarn:
    version: 1.22.22
    path: /Users/shimibenkalifa/.nvm/versions/node/v18.20.8/bin/yarn
  npm:
    version: 10.8.2
    path: /Users/shimibenkalifa/.nvm/versions/node/v18.20.8/bin/npm
  Watchman:
    version: 2025.05.19.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/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:
    API Levels:
      - "30"
      - "33"
      - "34"
      - "35"
      - "36"
      - "36"
    Build Tools:
      - 30.0.3
      - 34.0.0
      - 35.0.0
      - 35.0.1
      - 36.0.0
    System Images:
      - android-35 | Google APIs ARM 64 v8a
      - android-36.1 | Google APIs ARM 64 v8a
      - android-36 | Google APIs ARM 64 v8a
      - android-36 | Google Play ARM 64 v8a
      - android-36 | Pre-Release 16 KB Page Size Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2024.3 AI-243.25659.59.2432.13423653
  Xcode:
    version: 16.3/16E140
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.15
    path: /usr/bin/javac
  Ruby:
    version: 3.3.0
    path: /Users/shimibenkalifa/.rbenv/shims/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.2
    wanted: 0.79.2
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

info React Native v0.83.0 is now available (your project is running on v0.79.2).


Sentry.init()

export const initializeSentry = () => {
  if (!REACT_APP_SENTRY_DSN) {
    console.error('REACT_APP_SENTRY_DSN is not configured');
    return;
  }
  if (__DEV__) {
    console.log('Sentry is disabled in development');
    return;
  }

  Sentry.init({
    dsn: REACT_APP_SENTRY_DSN,

    // Adds more context data to events (IP address, cookies, user, etc.)
    // For more information, visit: https://docs.sentry.io/platforms/react-native/data-management/data-collected/
    sendDefaultPii: true,

    // Enable Logs
    enableLogs: true,

    // Configure Session Replay
    replaysSessionSampleRate: 0.1,
    replaysOnErrorSampleRate: __DEV__ ? 0 : 1,
    integrations: [
      Sentry.mobileReplayIntegration(),
      Sentry.feedbackIntegration(),
      Sentry.reactNavigationIntegration(),
      Sentry.consoleLoggingIntegration(),
    ],

    beforeSendLog(logEvent) {
      if (logEvent.message?.includes('canonizeResults')) {
        return null;
      }

      return logEvent;
    },
  });
};

Steps to Reproduce

  1. Initialize Sentry with mobileReplayIntegration() enabled
    2)<Video
    source={{
    uri: videoUrl,
    headers: { Authorization: Bearer ${token} }
    }}
    controls={true}
    resizeMode="contain"
    fullscreenAutorotate={true}
    fullscreenOrientation="landscape"
    />
    3)Build the app in Release mode (not Debug)
    4)Navigate to a screen containing the video componen
  2. App Crashes

Expected Result

The video component should render normally with Sentry replay integration enabled, with the video content being masked in replays (as per default behavior).

Actual Result

*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[NSConcreteValue doubleValue]: unrecognized selector sent to instance 0x600000cbfd20'

terminating due to uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[NSConcreteValue doubleValue]: unrecognized selector sent to instance 0x600000cbfd20'
CoreSimulator 1010.10 - Device: iPhone 16 Pro - Runtime: iOS 18.4

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions