[SDK 44][expo-dev-launcher/reanimated?][iOS] CRASH: DevLauncher tries to handle uncaught exception:
See original GitHub issueSummary
Following this nice blogpost https://blog.expo.dev/expo-dev-client-0-8-0-7116c1945253 and some official Twitter tweets, I upgraded RN from 0.64.3 to 0.66.4 (using expo-dev-client 0.8.0 [was 0.7.2 before]).
Run npx pod-install
- everything smooth so far. I can build my project and the expo-dev-client starts, but as soon as I try to open open my project, it crashes.
I am not sure if expo-dev-client / expo-dev-launcher is the issue or Reanimated 2. I could’t find any reports at the reanimated repo.
2021-12-25 17:41:26.570437+0100 myapp[10257:3282437] DevLauncher tries to handle uncaught exception: -[REAEventDispatcher setBridge:]: unrecognized selector sent to instance 0x282708dc0
In order to prevent dependency issues, I am running:
yarn expo:prebuild --skip-dependency-update react,react-native,expo-updates && yarn start:expo --dev-client
See full crash log at the end of this issue.
Managed or bare workflow? If you have ios/
or android/
directories in your project, the answer is bare!
managed
What platform(s) does this occur on?
iOS
SDK Version (managed workflow only)
44
Environment
Expo CLI 5.0.3 environment info:
System:
OS: macOS 11.6.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.18.2 - /usr/local/opt/node@14/bin/node
Yarn: 1.22.17 - /usr/local/bin/yarn
npm: 6.14.15 - /usr/local/opt/node@14/bin/npm
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.6953283
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
npmPackages:
react: 17.0.2 => 17.0.2
react-dom: 17.0.2 => 17.0.2
react-native: 0.66.4 => 0.66.4
react-native-web: 0.17.5 => 0.17.5
npmGlobalPackages:
eas-cli: 0.41.1
expo-cli: 5.0.3
Expo Workflow: bare
Log
Crash Log:
2021-12-25 17:41:26.568686+0100 myapp[10257:3282437] -[REAEventDispatcher setBridge:]: unrecognized selector sent to instance 0x282708dc0
2021-12-25 17:41:26.570437+0100 myapp[10257:3282437] DevLauncher tries to handle uncaught exception: -[REAEventDispatcher setBridge:]: unrecognized selector sent to instance 0x282708dc0
2021-12-25 17:41:26.590760+0100 myapp[10257:3282437] Stack Trace: (
"0 CoreFoundation 0x0000000180c95110 16FAA70C-278C-3561-859E-CEC407C2DC7C + 626960",
"1 libobjc.A.dylib 0x00000001994d0d64 objc_exception_throw + 60",
"2 CoreFoundation 0x0000000180d720c4 16FAA70C-278C-3561-859E-CEC407C2DC7C + 1532100",
"3 CoreFoundation 0x0000000180c2a524 16FAA70C-278C-3561-859E-CEC407C2DC7C + 189732",
"4 CoreFoundation 0x0000000180c29660 _CF_forwarding_prep_0 + 96",
"5 myapp 0x00000001046141a8 _ZN10reanimated30REAJSIExecutorRuntimeInstallerEP9RCTBridgeNSt3__18functionIFvRN8facebook3jsi7RuntimeEEEE + 364",
"6 myapp 0x0000000104679480 -[UIResponder(Reanimated) jsExecutorFactoryForBridge:] + 120",
"7 myapp 0x00000001046fdc28 -[RCTCxxBridge start] + 1128",
"8 myapp 0x00000001046e1940 -[RCTBridge setUp] + 6
2021-12-25 17:41:26.591235+0100 myapp[10257:3282437] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[REAEventDispatcher setBridge:]: unrecognized selector sent to instance 0x282708dc0'
*** First throw call stack:
(0x180c950fc 0x1994d0d64 0x180d720c4 0x180c2a524 0x180c29660 0x1046141a8 0x104679480 0x1046fdc28 0x1046e1940 0x1046e0cb4 0x1046e0a64 0x10443b974 0x104439ebc 0x104439378 0x104439ffc 0x1044051fc 0x1043c5628 0x1043c5d24 0x104bb436c 0x1092c46d4 0x1092c63b4 0x1092d6898 0x180c4dd84 0x180c07f5c 0x180c1b468 0x19c7a738c 0x1835bd088 0x18333b958 0x1043c5ddc 0x1090e1aa4)
libc++abi: terminating with uncaught exception of type NSException
dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/GPUTools.framework/libglInterpose.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[REAEventDispatcher setBridge:]: unrecognized selector sent to instance 0x282708dc0'
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:6 (4 by maintainers)
Top Results From Across the Web
Handle Uncaught Exception at SDK l… - Apple Developer
I developed a Swift SDK where i need to handle all uncaught exceptions and crashes with in SDK. My objective is simple would...
Read more >android - Need to handle uncaught exception and send log file
@gilm - I have revisited this code and tried forwarding to the prior default handler. The effect is to show the system "app...
Read more >CrashlyticsUncaughtExceptionH...
getDefaultUncaughtExceptionHandler () will execute first on uncaught exceptions. // Firebase Crashlytics will handle its own behavior first ...
Read more >Error Handling in Modular AWS SDK for JavaScript (v3)
In this post, we cover how to use it and how it improves the error handling experience. Why did we do it? Previously,...
Read more >Five steps to quickly track down and handle uncaught ...
If you're a Node.js developer and your application hasn't crashed yet, because of some uncaught exception, you're an amateur. I mean it, you're...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
No stale m. Is this the new way to ignore legit issues and let them be closed by stale bots?
Maybe another idea… For us the upgrade worked because we were on older version and we had same issue (we are not using expo though)…
However make sure that reanimated version is force even for your dependencies… We ensure that by including
resolution
field in package.json to ensure that ours dependencies dependency are overwritten 😄But maybe this is not your case, just sharing my experience…