Skip to content
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

Segfault in production Android app - facebook::hermes::debugger::EventObserver::breakpointResolved #1436

Closed
MFazio23 opened this issue Jun 13, 2024 · 4 comments

Comments

@MFazio23
Copy link

Description

We have a massive (15K) amount of crashes in our production React Native Android app which are shown to end in the breakpointResolved function inside Hermes.

This crash occurs ~90% of the time on Motorola devices, though we've seen it a slight bit on other devices like Samsungs and Pixels.

It is also happening all over our app without a clear pattern as to something in particular causing it.

Our dev team has been unable to reproduce this issue on our side, both with dev and prod builds, but we are continually attempting to find some way to have it happen consistently.

We are also working to upgrade our version of React Native to the latest version, but are hoping someone may have an idea here while that is in progress.

Steps to reproduce

This is only occurring in our production app and we are unable to reproduce it on our side, either with a dev or a prod build.

React Native Version

0.72.1

Affected Platforms

Runtime - Android

Output of npx react-native info

System:
  OS: macOS 14.5
  CPU: (10) arm64 Apple M1 Pro
  Memory: 82.36 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.0.0
    path: /opt/homebrew/bin/node
  Yarn:
    version: 1.22.19
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.5.1
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2024.04.22.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/michael.fazio/.rubies/ruby-2.7.6/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - visionOS 1.0
      - watchOS 10.2
  Android SDK:
    API Levels:
      - "29"
      - "30"
      - "31"
      - "32"
      - "33"
      - "34"
    Build Tools:
      - 28.0.3
      - 29.0.2
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 32.0.0
      - 32.1.0
      - 33.0.0
      - 33.0.1
      - 33.0.2
      - 34.0.0
    System Images:
      - android-31 | Google Play ARM 64 v8a
      - android-32 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: Not Found
  Xcode:
    version: 15.2/15C500b
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.1
    path: /usr/bin/javac
  Ruby:
    version: 2.7.6
    path: /Users/michael.fazio/.rubies/ruby-2.7.6/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.1
    wanted: 0.72.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Stacktrace or Logs

OS Version: Android 12 (S3RDES32.123-37-5-11)
Report Version: 104

Exception Type: Unknown (SIGSEGV)

Application Specific Information:
Segfault

Thread 0 Crashed:
0   split_config.arm64_v8a.apk      0x73f0d32c70        facebook::hermes::debugger::EventObserver::breakpointResolved
1   split_config.arm64_v8a.apk      0x73f0ceebb4        facebook::hermes::debugger::EventObserver::breakpointResolved
2   split_config.arm64_v8a.apk      0x73f0da8a58        facebook::hermes::debugger::EventObserver::breakpointResolved
3   split_config.arm64_v8a.apk      0x73f0da80c8        facebook::hermes::debugger::EventObserver::breakpointResolved
4   split_config.arm64_v8a.apk      0x73f0da720c        facebook::hermes::debugger::EventObserver::breakpointResolved
5   split_config.arm64_v8a.apk      0x73f0daa250        facebook::hermes::debugger::EventObserver::breakpointResolved
6   split_config.arm64_v8a.apk      0x73f0da6fb0        facebook::hermes::debugger::EventObserver::breakpointResolved
7   split_config.arm64_v8a.apk      0x73f0da9804        facebook::hermes::debugger::EventObserver::breakpointResolved
8   split_config.arm64_v8a.apk      0x73f0d15574        facebook::hermes::debugger::EventObserver::breakpointResolved
9   split_config.arm64_v8a.apk      0x73f0d14650        facebook::hermes::debugger::EventObserver::breakpointResolved
10  split_config.arm64_v8a.apk      0x73f0d081c8        facebook::hermes::debugger::EventObserver::breakpointResolved
11  split_config.arm64_v8a.apk      0x73f0d03660        facebook::hermes::debugger::EventObserver::breakpointResolved
12  split_config.arm64_v8a.apk      0x73f0ce7db8        facebook::hermes::debugger::EventObserver::breakpointResolved
13  split_config.arm64_v8a.apk      0x73f0ce6cc0        facebook::hermes::debugger::EventObserver::breakpointResolved
14  split_config.arm64_v8a.apk      0x73f0d92fdc        facebook::hermes::debugger::EventObserver::breakpointResolved
15  split_config.arm64_v8a.apk      0x73f0ce7b54        facebook::hermes::debugger::EventObserver::breakpointResolved
16  split_config.arm64_v8a.apk      0x73f0d02664        facebook::hermes::debugger::EventObserver::breakpointResolved
17  split_config.arm64_v8a.apk      0x73f0d03ec4        facebook::hermes::debugger::EventObserver::breakpointResolved
18  split_config.arm64_v8a.apk      0x73f0d03660        facebook::hermes::debugger::EventObserver::breakpointResolved
19  split_config.arm64_v8a.apk      0x73f0ce7db8        facebook::hermes::debugger::EventObserver::breakpointResolved
20  split_config.arm64_v8a.apk      0x73f0ce6cc0        facebook::hermes::debugger::EventObserver::breakpointResolved
21  split_config.arm64_v8a.apk      0x73f0d92fdc        facebook::hermes::debugger::EventObserver::breakpointResolved
22  split_config.arm64_v8a.apk      0x73f0ce7b54        facebook::hermes::debugger::EventObserver::breakpointResolved
23  split_config.arm64_v8a.apk      0x73f0d02664        facebook::hermes::debugger::EventObserver::breakpointResolved
24  split_config.arm64_v8a.apk      0x73f0d03ec4        facebook::hermes::debugger::EventObserver::breakpointResolved
25  split_config.arm64_v8a.apk      0x73f0d03660        facebook::hermes::debugger::EventObserver::breakpointResolved
26  split_config.arm64_v8a.apk      0x73f0ce7db8        facebook::hermes::debugger::EventObserver::breakpointResolved
27  split_config.arm64_v8a.apk      0x73f0ce776c        facebook::hermes::debugger::EventObserver::breakpointResolved
28  split_config.arm64_v8a.apk      0x73f0cd86cc        facebook::jsi::Array::setValueAtIndex<T>
29  split_config.arm64_v8a.apk      0x73ed783aa8        facebook::jsi::Function::call<T>
30  split_config.arm64_v8a.apk      0x73ed783914        folly::to_ascii_with<T>
31  split_config.arm64_v8a.apk      0x73ed77ab44        std::__ndk1::__invoke_void_return_wrapper<T>::__call<T>
32  split_config.arm64_v8a.apk      0x73ed78043c        facebook::react::JSIExecutor::callFunction
33  split_config.arm64_v8a.apk      0x73f0aaaca0        facebook::react::JsToNativeBridge::callSerializableNativeHook
34  split_config.arm64_v8a.apk      0x73f0aabcb8        facebook::react::JsToNativeBridge::callSerializableNativeHook
35  split_config.arm64_v8a.apk      0x73f0a81144        facebook::react::JMessageQueueThread::~JMessageQueueThread
36  split_config.arm64_v8a.apk      0x7409296e84        facebook::jni::detail::MethodWrapper<T>::dispatch
37  split_config.arm64_v8a.apk      0x7409296dfc        facebook::jni::detail::FunctionWrapper<T>::call
38  base.odex                       0x741e0e0004        <unknown> + 498720440324

EOF

Reproducer

N/A

Screenshots and Videos

No response

Copy link

⚠️ Newer Version of React Native is Available!
ℹ️ You are on a supported minor version, but it looks like there's a newer patch available - 0.72.15. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

Copy link

⚠️ Missing Reproducible Example
ℹ️ We could not detect a reproducible example in your issue report. Please provide either:
  • If your bug is UI related: a Snack
  • If your bug is build/update related: use our Reproducer Template. A reproducer needs to be in a GitHub repository under your username.

@cortinico
Copy link
Contributor

We have a massive (15K) amount of crashes in our production React Native Android app which are shown to end in the breakpointResolved function inside Hermes.

In general, in production apps, the Hermes Debugger is not enabled, so it's surprising to see it in your stacktrace.

I'm passing over this to the Hermes team for further investigation

@cortinico cortinico transferred this issue from facebook/react-native Jun 14, 2024
@mattbfb
Copy link
Contributor

mattbfb commented Jun 14, 2024

This appears to be a duplicate of #1434. Let's continue the discussion there.

@mattbfb mattbfb closed this as completed Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants