ARTICLE AD BOX
I’m seeing a native crash (SIGABRT) on arm64-v8a devices in a React Native Android app on Android 15 and 16. The crash originates from libfbjni.so while executing facebook::jni::JNativeRunnable::run().
The app aborts inside JNIAbort, suggesting an invalid JNI call, thread misuse, or a native exception propagating into ART.
This crash is occurring in production builds and appears tied to background thread execution.
Environment
Architecture: arm64-v8a
Framework: React Native
Native libs involved:
libreactnative.so
libfbjni.so
Other libraries on stack:
com.facebook.react.bridge.queue.MessageQueueThread
com.airbnb.lottie.LottieTask
Build type: Release
Android Runtime: ART
What I’ve Tried / Observed
Crash only occurs in native code (no Java exception logged)
Happens only on Android 15 and 16
Happens on background threads (MessageQueueThread / LottieTask)
Appears to be a JNI abort rather than a segmentation fault
Likely caused by:
Calling JNI from the wrong thread
Using a stale or invalid JNIEnv
Accessing a destroyed Java object from native code
React Native / fbjni version mismatch
Abort message: JNI DETECTED ERROR IN APPLICATION #00 pc 0x000000000005c918 libc.so (abort+172) #01 pc 0x00000000008a0f04 libart.so (art::Runtime::Abort+476) #04 pc 0x00000000002f6200 libart.so (art::JavaVMExt::JniAbort+804) #05 pc 0x00000000003253f8 libreactnative.so #08 pc 0x0000000000017dd0 libfbjni.so facebook::jni::detail::MethodWrapper< void (facebook::jni::JNativeRunnable::*)(), &facebook::jni::JNativeRunnable::run() >::dispatch(...) #11 pc 0x0000000001f006fc base.odex com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage #16 pc 0x0000000000d29950 base.odex com.airbnb.lottie.LottieTask.run #17 pc 0x000000000031d4f0 boot.oat (java.lang.Thread.run)