sentry-react-native: Crash: EXC_BAD_ACCESS +[RNSentryEventEmitter emitModuleTableUpdate:]
OS:
- Windows
- MacOS
- Linux
Platform:
- iOS
- Android
Output of node -v && npm -v && npm ls --prod --depth=0
v8.4.0
5.3.0
ScrollCare@1.1.5 /Users/aiham/dev/scrollcare-client
├── babel-plugin-transform-remove-console@6.8.5
├── immutable@3.8.1
├── lodash@4.17.4
├── prop-types@15.5.10
├── react@16.0.0-alpha.12
├── react-native@0.48.1
├── react-native-camera@0.10.0 (git+https://github.com/lwansbrough/react-native-camera.git#537b7696b491f5f1a2ce70cfb8477b8e5b80a7ed)
├── react-native-ci-tools@1.1.0 (git+https://github.com/aiham/react-native-ci-tools.git#309f62a1824bcdaad6fa03825cddcec6c3db8297)
├── react-native-country-picker-modal@0.3.0
├── react-native-datepicker@1.6.0
├── react-native-device-info@0.11.0
├── react-native-elements@0.15.0
├── react-native-fetch-blob@0.10.8
├── react-native-google-analytics-bridge@5.3.0
├── react-native-modal-datetime-picker@4.11.0
├── react-native-modal-dropdown@0.4.4
├── react-native-path@0.0.5
├── react-native-photo-view@1.5.0 (git+https://github.com/alwx/react-native-photo-view.git#22877b2a9df47d23cfe068a2f4d2709daaf6d1f5)
├── react-native-popup-menu@0.8.1
├── react-native-selectme@1.2.3
├── react-native-sentry@0.23.0
├── react-native-simple-onboarding@0.1.1
├── react-native-simple-radio-button@2.6.1
├── react-native-sleek-loading-indicator@0.1.3
├── react-native-thumbnail-grid@0.2.0 (git+https://github.com/aiham/react-native-photo-grid.git#39f928f2ce7730f7c55690277b4e4e0fbe1bf724)
├── react-native-timeline-listview@0.2.2
├── react-native-vector-icons@4.3.0
├── react-native-version@2.3.1
├── react-navigation@1.0.0-beta.12
├── react-redux@5.0.6
├── redux@3.7.2
├── redux-batched-actions@0.1.6
├── redux-persist@4.9.1
├── redux-persist-transform-immutable@4.3.0
├── redux-thunk@2.2.0
└── uuid@3.1.0
Config:
import { Sentry } from 'react-native-sentry';
Sentry.config(sentryDSN).install();
I have following issue:
React native app crashes randomly while using iOS Simulator (haven’t tried a real device) and it originates at [RNSentryEventEmitter emitModuleTableUpdate:]
. Not sure how to troubleshoot this.
Steps to reproduce:
- Use the app for a while using iOS Simulator.
I don’t have specific repro steps but this always happens eventually, no matter what screens I navigate to or what actions I make. Sometimes it happens immediately, sometimes it takes a while. I’ve reproduced it 16 times here: https://sentry.io/ham-byte/scrollcaredev/?query=is%3Aunresolved+emitModuleTableUpdate
Actual result:
- Crashes with:
EXC_BAD_ACCESS
Attempted to dereference garbage pointer 0x10e6b202d.
Originated at or in a subcall of +[RNSentryEventEmitter emitModuleTableUpdate:]
mach exception
EXC_BAD_ACCESS
signal
SIGBUS (10)
ScrollCare
0x10e792cde
+[RNSentryEventEmitter emitModuleTableUpdate:]
Called from:
ScrollCare
__36-[RNSentry swizzleInvokeWithBridge:]_block_invoke_2
ScrollCare
0x10e59f4a0
facebook::react::RCTNativeModule::invokeInner(unsigned int, folly::dynamic const&&)
ScrollCare
0x10e59f07c
facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_0::operator()() const
ScrollCare
0x10e59f039
invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)
Called from:
libdispatch
_dispatch_call_block_and_release
Expected result:
- No crash
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Reactions: 3
- Comments: 20 (8 by maintainers)
Commits related to this issue
- fix: Check valid JSON object before calling postnotification Fixes #228 — committed to getsentry/sentry-react-native by HazAT 7 years ago
- fix: Check valid JSON object before calling emitModuleTableUpdate Fixes #228 — committed to getsentry/sentry-react-native by HazAT 7 years ago
I still face this issue with
react-native-sentry@0.42.0
andreact-native@0.59.0
during the next reload after a JS or native crash :I have
react-native-code-push@5.5.2
installed. Error occurs at least with a new native version (without any CodePush OTA update installed).Setting
deactivateStacktraceMerging: true
seems to be a good workaround.Ok, @aiham thank you for helping me out. I will release a fix for that in a few minutes
0.23.2
. 👍