1

I am running a managed app which I just upgraded to SDK 49. eas-cli/3.17.1 darwin-arm64 node-v18.17.0

My app, even tough running great locally, crashes on start when I open it from an EAS update usin the Expo Go app. I have tried investigating it for 3 days now and couldn't fix it.

I used XCode 'console' app to get the error logged when the Expo Go app is crashing. Here are the 3 error logs I found there:

  • Expo Go RangeError: Maximum call stack size exceeded (native stack depth), js engine: hermes
  • Expo Go Invariant Violation: "main" has not been registered. This can happen if:
    • Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
    • A module failed to load due to an error and AppRegistry.registerComponent wasn't called., js engine: hermes
  • Expo Go NSInvalidArgumentException: -[EXReactAppExceptionHandler handleFatalJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:]: unrecognized selector sent to instance 0x281fa8380

After Googling these I realized that the one I should focus on is the first one (the 'RangeError') since the others are just a result of it, and that the issue is probably caused by one of my dependencies failing for some reason.

Looking into that made me suspect 'react-native-reanimated' (because of that Github issue), so I tried downgrading back to 2.14.4 which is the previous version I used, and when I ran that locally the app crashed with the error:

TypeError: _ReanimatedModule.default.createNode is not a function (it is undefined), js engine: hermes

Followed by the same: "main" has not been registered error, so I thought it was worth mentioning.

Then I used npx expo prebuild -p ios and ran that using XCode, which worked fine at first, but after a few runs suddenly crashed with this:

ReanimatedError: Maximum call stack size exceeded (native stack depth). , js engine: reanimated

I also tried switching the jsEngine to JSC but all it did was giving me even less usefull error logs.

I already thought I figured it out twice now but then a day later I make a new EAS update and it crashes again, so I couldn't even get consistency there.

Here are package.json dependencies changes made during my upgrade to SDK 49. No other changes to any of my code base were made between a working version and a crashing version, only these dependencies changes.

package.json dependencies changes made during my upgrade to SDK 49

I am really frustrated.. would appreciate your help so much

Sagi8767
  • 33
  • 7
  • Having the exact same issue. Have you found any solution? – Ahmad Aug 21 '23 at 12:36
  • No unfortunately I didn't.. I even contacted Expo's support but they weren't able to reproduce the issue on their end. After 2 weeks of effort I gave up and downgraded back to SDK 48. Hopefully when SDK 50 comes along it won't happen there – Sagi8767 Aug 25 '23 at 13:17
  • I ended up doing the exact same thing as well. I guess we have to make do with 48 for now – Ahmad Aug 31 '23 at 12:36
  • Have you tried using node 16 instead of 18? I was using v16 and everything worked normally. After installing v18, update would only create the android bundle. Could only get to work again by returning to v16. – Pedro Andrade Sep 01 '23 at 05:04

0 Answers0