expo: App crashes when importing large JSON file (~6mb)

Summary

Production builds built with EAS crash instantly when opened on iOS (only tested on iPhone 13 mini & iPhone 13 Pro so far). This is a recent bug/problem in our codebase that didn’t happen a few weeks ago.

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)

45.0.6

Environment

expo-env-info 1.0.5 environment info: System: OS: macOS 12.4 Shell: 5.8.1 - /bin/zsh Binaries: Node: 16.14.2 - ~/.nvm/versions/node/v16.14.2/bin/node Yarn: 1.22.18 - ~/.nvm/versions/node/v16.14.2/bin/yarn npm: 8.5.0 - ~/.nvm/versions/node/v16.14.2/bin/npm Watchman: 2022.03.21.00 - /opt/homebrew/bin/watchman Managers: CocoaPods: 1.11.3 - /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5 IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8609683 Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild npmPackages: expo: ^45.0.0 => 45.0.6 react: 17.0.2 => 17.0.2 react-native: 0.68.2 => 0.68.2 npmGlobalPackages: eas-cli: 0.55.1 expo-cli: 5.5.1 Expo Workflow: managed

Reproducible demo

I have stripped down 99% of the code in our project (but left behind all the dependencies and configuration files we use): https://github.com/beerinabox/my-beer-minimal-example-react-native

The crash on iOS devices that keeps happening on startup is the following: Screenshot 2022-07-25 at 16 47 53

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 20 (9 by maintainers)

Most upvoted comments

@aleqsio That sounds like a very plausible explanation. With this insight I think this issue can be closed now (as the underlying problem is caused by the hermes engine).

Do you see value in adding this insight somewhere to the docs of expo?

Thanks very much for all the detailed info. I have set up your repo with my own EAS account and reproduced the issue. I’ll investigate on this end and see if I can come up with a fix.