Hi, some users of our app are facing this repetetive crash on production. Here is some of the information we have gathered about this crash so far -
- Our RN version is 0.72.8
- Around 0.1% of our users are facing this
- We do NOT have Hermes turned on, we are using JSC
- Attaching a screenshot of the stack trace of the crash from Firebase Crashlytics
- Based on the stack-trace, we have identified the function where we think the problem lies (attaching a snippet below), it's in the class
ReactInstanceManagerBuilder -> where hermes is being used as a fallback if loading JSC fails.
So the question now is, under what circumstances would loading JSC fail? And what can be done to fix this ? Any help or pointers in the right direction would be much appreciated.
`private JavaScriptExecutorFactory getDefaultJSExecutorFactory(String appName, String deviceName, Context applicationContext) {
if (this.jsEngineResolutionAlgorithm == null) {
FLog.w(TAG, "You're not setting the JS Engine Resolution Algorithm. We'll try to load JSC first, and if it fails we'll fallback to Hermes");
try {
ReactInstanceManager.initializeSoLoaderIfNecessary(applicationContext);
JSCExecutor.loadLibrary();
return new JSCExecutorFactory(appName, deviceName);
} catch (UnsatisfiedLinkError var5) {
if (var5.getMessage().contains("__cxa_bad_typeid")) {
throw var5;
} else {
HermesExecutor.loadLibrary();
return new HermesExecutorFactory();
}
}
} else if (this.jsEngineResolutionAlgorithm == JSEngineResolutionAlgorithm.HERMES) {
HermesExecutor.loadLibrary();
return new HermesExecutorFactory();
} else {
JSCExecutor.loadLibrary();
return new JSCExecutorFactory(appName, deviceName);
}
}`

Hi, some users of our app are facing this repetetive crash on production. Here is some of the information we have gathered about this crash so far -
ReactInstanceManagerBuilder-> wherehermesis being used as a fallback if loadingJSCfails.So the question now is, under what circumstances would loading JSC fail? And what can be done to fix this ? Any help or pointers in the right direction would be much appreciated.
`private JavaScriptExecutorFactory getDefaultJSExecutorFactory(String appName, String deviceName, Context applicationContext) {
if (this.jsEngineResolutionAlgorithm == null) {
FLog.w(TAG, "You're not setting the JS Engine Resolution Algorithm. We'll try to load JSC first, and if it fails we'll fallback to Hermes");