craftzdog / craftzdog/react-native-quick-base64

crash when reload app that using react-native-quick-base64 & react-native-quick-md5

Open
#26 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
464
Forks
40
PR merge metrics
No merged PRs in 30d

Description

Bug Description

When the app is launched or reloaded, it will randomly crash, I have provided screenshots and demo code, it is very easy to reproduce this problem, initialize a new react-native project, add react-native-quick-md5 & react-native-quick-base64, and then reload the app from the dev menu, it will randomly crash, the crash probability is very high, actually if there is only one jsi module, it will also crash, but the reproduction probability is low, I found that if there are these two jsi modules, the crash is very easy to reproduce

Hermes version: 0.71.8
React Native version (if any): 0.71.8
OS version (if any): iOS 16.2
Platform (most likely one of arm64-v8a, armeabi-v7a, x86, x86_64): arm64-v8

Steps To Reproduce

  1. create new react-native project
  2. add add react-native-quick-md5 & react-native-quick-base64 modules
  3. launch app & reload from dev menu

code example:

npx react-native init demo
cd demo
yarn add react-native-quick-md5
yarn add react-native-quick-base64
npx pod-install ios

demo code https://github.com/iwater/bug_demo

截屏2023-05-25 12 11 37

#https://github.com/facebook/hermes/issues/1011

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the demo repository linked in the issue and reproduce the crash on iOS 16.2 with React Native and Hermes 0.71.8, using both react-native-quick-md5 and react-native-quick-base64. Compare reload behavior with one module versus both; done means reloading from the dev menu no longer crashes the app.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, react-native
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.