react-native: RN 0.72-rc.3 release builds crash on startup due to bytecode version mismatch
Description
Release builds broken
React Native Version
0.72.0-rc.3
Output of npx react-native info
info Fetching system and libraries information...
System:
OS: Linux 5.15 Arch Linux
CPU: (16) x64 AMD Ryzen 7 5800H with Radeon Graphics
Memory: 9.04 GB / 31.35 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.14.2
path: ~/.nvm/versions/node/v18.14.2/bin/node
Yarn:
version: 1.22.19
path: /usr/sbin/yarn
npm:
version: 9.5.0
path: ~/.nvm/versions/node/v18.14.2/bin/npm
Watchman:
version: 20221016.020512.0
path: /usr/sbin/watchman
SDKs:
Android SDK:
API Levels:
- "31"
- "33"
- "33"
Build Tools:
- 30.0.2
- 30.0.3
- 31.0.0
- 33.0.0
- 33.0.2
System Images:
- android-33 | Google APIs Intel x86_64 Atom
Android NDK: Not Found
IDEs:
Android Studio: AI-222.4459.24.2221.9971841
Languages:
Java:
version: 11.0.17
path: /usr/sbin/javac
Ruby: Not Found
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.0-rc.3
wanted: 0.72.0-rc.3
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Steps to reproduce
npx react-native@0.72.0-rc.3 init TestApp --version 0.72.0-rc.3
cd ./TestApp
yarn start
# new terminal
yarn android --mode release
# watch it crash on your phone...
# new terminal
adb logcat
# observe a log entry about bytecode verison mismatch
Snack, code example, screenshot, or link to a repository
Use the official demo template
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 20 (11 by maintainers)
Commits related to this issue
- Make CircleCI caches for hermesc be version dependent Summary: Fixes #37428 We do have cache poisoning for hermesc on Windows and Linux due to reusing the same cache key among different React Native... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cortinico a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
- Make CircleCI caches for hermesc be version dependent (#37452) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37452 Fixes #37428 We do have cache poisoning for hermes... — committed to cortinico/react-native by cipolleschi a year ago
@cortinico i can confirm the
hermesc
on linux is bytecode version95
. i don’t know how react-native nowadays publishing/generating hermesc, i can help to investigate further tomorrow.for reference the
hermesc -version
on macos is as following, we can seen both hermes release version and hermes bytecode version are different:@cortinico
npm list -g
andyarn global list
both show a few packages and none of them are related to React Native in any wayThis will be included in the next RC sometime next week or the following one
Thanks for the clarification @Kudo. I believe this is an instance of cache poisoning on CircleCI where we reused hermesc from the latest build from main, when we should be isolating caches for each RN version. Fix is incoming
By the way, I followed the steps I wrote above to reproduce the error when getting the logcat above for you, so yeah the repro steps are exact, at least on my machine.
@cortinico