Skip to content

[iOS] No matching Debug IDs found for JS sourcemaps. #4355

Closed as not planned
Closed as not planned
@jayshah123

Description

@jayshah123

Image

What React Native libraries do you use?

Hermes, React Navigation, Expo (mobile only) with Bare workflow

Are you using sentry.io or on-premise?

sentry.io (SaS)

@sentry/react-native SDK Version

5.33.0

How does your development environment look like?

JS stacktrace shows "Unminify code" (See screenshot below)

https://people-center-inc.sentry.io/issues/5949546316/?project=1272927&query=release%3A3.0.3-1008&referrer=issue-stream&sort=freq&statsPeriod=7d&stream_index=1

System:
OS: macOS 15.1.1
CPU: (10) arm64 Apple M1 Max
Memory: 185.14 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.13.0
path: ~/.nvm/versions/node/v18.13.0/bin/node
Yarn:
version: 1.18.0
path: ~/.yarn/bin/yarn
npm:
version: 8.19.3
path: ~/.nvm/versions/node/v18.13.0/bin/npm
Watchman:
version: 2024.10.21.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.14.3
path: /Users/jshah/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.0
- iOS 18.0
- macOS 15.0
- tvOS 18.0
- visionOS 2.0
- watchOS 11.0
Android SDK: Not Found
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10811636
Xcode:
version: 16.0/16A242d
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.12
path: /usr/bin/javac
Ruby:
version: 3.3.0
path: /Users/jshah/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.73.9
wanted: 0.73.9
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,
    environment: ENVIRONMENT,
    release: `${appJson.expo.version}-${appJson.expo.jsVersion}`,
    dist: `${appJson.expo.versionCode}`,
    beforeSend: sentryFilter,
    enableTracing: false,
    attachStacktrace: true,
    enableWatchdogTerminationTracking: true,
    enableAutoPerformanceTracing: false,
    integrations: [new ExecutionNamespaceIntegration()],
  });

Steps to Reproduce

  1. We use Bare workflow with Expo core sdk.
  2. Build and release iOS app
    I have "Bundle React Native Code and images" with following code (updated with sentry wizard codegen):
if [ "$CI" != true ]; then 
 ~/.nvm/nvm.sh 
fi 
if [[ -f "$PODS_ROOT/../.xcode.env" ]]; then
  source "$PODS_ROOT/../.xcode.env"
fi
if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
  source "$PODS_ROOT/../.xcode.env.local"
fi

# The project root by default is one level up from the ios directory
export PROJECT_ROOT="$PROJECT_DIR"/..

if [[ "$CONFIGURATION" = *Debug* ]]; then
  export SKIP_BUNDLING=1
fi
if [[ -z "$ENTRY_FILE" ]]; then
  # Set the entry JS file using the bundler's entry resolution.
  export ENTRY_FILE="$("$NODE_BINARY" -e "require('expo/scripts/resolveAppEntry')" "$PROJECT_ROOT" ios relative | tail -n 1)"
fi

if [[ -z "$CLI_PATH" ]]; then
  # Use Expo CLI
  export CLI_PATH="$("$NODE_BINARY" --print "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })")"
fi
if [[ -z "$BUNDLE_COMMAND" ]]; then
  # Default Expo CLI command for bundling
  export BUNDLE_COMMAND="export:embed"
fi

# Source .xcode.env.updates if it exists to allow
# SKIP_BUNDLING to be unset if needed
if [[ -f "$PODS_ROOT/../.xcode.env.updates" ]]; then
  source "$PODS_ROOT/../.xcode.env.updates"
fi
# Source local changes to allow overrides
# if needed
if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
  source "$PODS_ROOT/../.xcode.env.local"
fi

# Uncomment folowing line to run expo-updates with debug build
#sed -i '' 's/SKIP_BUNDLING/FORCE_BUNDLING/g;' ios/<project name>.xcodeproj/project.pbxproj

export NODE_ARGS="--max-old-space-size=8192"

/bin/sh `"$NODE_BINARY" --print "require('path').dirname(require.resolve('@sentry/react-native/package.json')) + '/scripts/sentry-xcode.sh'"` `"$NODE_BINARY" --print "require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'"`

Expected Result

Should work as expected.
I believe the sourcemaps might not have been uploaded, can we make these steps have more verbose logging to debug quicker?

Actual Result

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Status

    Waiting for: Community

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions