React Native 0.65 crashes on Android emulators at API 30
Describe the bug Babylon React Native targeting v. 0.65 crashes immediately as soon as it tries to run on an Android emulators at API 30. From our investigation so far, this appears to be specific to that specific combination of versions; the crash does not repro on 0.64 nor with APIs other than 30.
To Reproduce Steps to reproduce the behavior:
- Create an emulator running Android API 30 and leave it running to force React Native to deploy to that device
- Clone and attempt to run this repo using the instructions there
Expected behavior The app should display the animated nested cube model from the glTF samples.
Screenshots
If you tail logcat during the crash, you see this error:

Other
- Platform: Win32 deploying 0.65 to an Android emulator at API 30.
May pertain to the following NDK bug: https://github.com/android/ndk/issues/1639
Hello everyone, we are having a similar problem in some devices: (the following is from an emulator but the error message is the same)
Process: com.mrtgamification, PID: 6601
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_Unwind_Resume" referenced by "/data/app/com.mrtgamification--j3ImMNEi28R2tUXxbwVOQ==/base.apk!/lib/x86/libBabylonNative.so"...
at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
at java.lang.System.loadLibrary(System.java:1667)
at com.babylonreactnative.BabylonNativeInterop$BabylonNative.<clinit>(BabylonNativeInterop.java:18)
at com.babylonreactnative.BabylonNativeInterop$BabylonNative.initialize(Native Method)
at com.babylonreactnative.BabylonNativeInterop.initialize(BabylonNativeInterop.java:40)
at com.babylonreactnative.BabylonModule.lambda$initialize$0$com-babylonreactnative-BabylonModule(BabylonModule.java:25)
at com.babylonreactnative.BabylonModule$$ExternalSyntheticLambda0.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
at java.lang.Thread.run(Thread.java:919)
Some of the devices on which we are having the problem are:
- Huawei 8X
- Redmi Note 9 Pro
- Samsung Galaxy A50
- Acer Liquid S1
- Huawei P30
- Huawei P20
- Motorola moto g7
It is not clear why it happens on these devices while on others everything runs fine. We tried a lot of solutions without success. We had this problem on RN 0.65, 0.66 and now 0.68. I can confirm that it's happening on SDK 29 and 30.
I'm getting the same error
UnsatisfiedLinkError... __emutls_get_address
@syntheticmagus or @pingumen96 were you able to fix it?
Facing the same issue as @pingumen96, was anyone able to find a workaround?
Emulators (mainly on Windows) have a common problem with crash (when using OpenGL ES context). I always had to use a real device instead of emulating Android. In Mac environment (M1) I don't have this problem, emulating both IOS and Android seems stable.
Emulators are never 100% and emulating Open GL ES calls can be even more problematic.
Have you tried on a "more game-ready/3D rendering" emulator like BlueStacks/Nox Player? (Via Android Debug Bridge)
Hello everyone, we are having a similar problem in some devices: (the following is from an emulator but the error message is the same)
Process: com.mrtgamification, PID: 6601 java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_Unwind_Resume" referenced by "/data/app/com.mrtgamification--j3ImMNEi28R2tUXxbwVOQ==/base.apk!/lib/x86/libBabylonNative.so"... at java.lang.Runtime.loadLibrary0(Runtime.java:1071) at java.lang.Runtime.loadLibrary0(Runtime.java:1007) at java.lang.System.loadLibrary(System.java:1667) at com.babylonreactnative.BabylonNativeInterop$BabylonNative.<clinit>(BabylonNativeInterop.java:18) at com.babylonreactnative.BabylonNativeInterop$BabylonNative.initialize(Native Method) at com.babylonreactnative.BabylonNativeInterop.initialize(BabylonNativeInterop.java:40) at com.babylonreactnative.BabylonModule.lambda$initialize$0$com-babylonreactnative-BabylonModule(BabylonModule.java:25) at com.babylonreactnative.BabylonModule$$ExternalSyntheticLambda0.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27) at android.os.Looper.loop(Looper.java:214) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228) at java.lang.Thread.run(Thread.java:919)Some of the devices on which we are having the problem are:
- Huawei 8X
- Redmi Note 9 Pro
- Samsung Galaxy A50
- Acer Liquid S1
- Huawei P30
- Huawei P20
- Motorola moto g7
It is not clear why it happens on these devices while on others everything runs fine. We tried a lot of solutions without success. We had this problem on RN 0.65, 0.66 and now 0.68. I can confirm that it's happening on SDK 29 and 30.
This specific issue has been addressed in #458.
Any update on this issue @bghgary ?
No, I suspect changing the API level settings in gradle will help, but I haven't tried yet.
Closing this since 0.65 is quite old. If this continues to be an issue for newer RN, let's reopen.