android crashes upon emitOnDisconnectPeripheral
Before open an issue
- Check the closed issues, your question maybe is not new.
- We can't debug or reproduce hardware issue.
- If the library is not working 99% you did something wrong, in the code, installation or in the phone permissions.
Describe the bug
crashes in production appearing on emitOnDisconnectPeripheral
To Reproduce i have not observed this yet in development environment.
Expected behavior not crash?
Screenshots
Exception java.lang.RuntimeException: __next_prime overflow
at com.facebook.react.bridge.CxxCallbackImpl.nativeInvoke (CxxCallbackImpl.kt)
at com.facebook.react.bridge.CxxCallbackImpl.invoke (CxxCallbackImpl.kt:18)
at it.innove.NativeBleManagerSpec.emitOnDisconnectPeripheral (NativeBleManagerSpec.java:58)
at it.innove.Peripheral.sendDisconnectionEvent (Peripheral.java:114)
at it.innove.Peripheral.lambda$onConnectionStateChange$3 (Peripheral.java:408)
at android.os.Handler.handleCallback (Handler.java:959)
at android.os.Handler.dispatchMessage (Handler.java:100)
at android.os.Looper.loopOnce (Looper.java:257)
at android.os.Looper.loop (Looper.java:342)
at android.app.ActivityThread.main (ActivityThread.java:9634)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:929)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
backtrace:
#00 pc 0x00000000003ad610 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/split_config.arm64_v8a.apk!libreactnative.so (std::__ndk1::__function::__func<facebook::react::JavaTurboModule::configureEventEmitterCallback()::$_0, std::__ndk1::allocator<facebook::react::JavaTurboModule::configureEventEmitterCallback()::$_0>, void (folly::dynamic)>::operator()(folly::dynamic&&)+17760256) (BuildId: c2b6b8cc86e09fa8)
#01 pc 0x000000000046fa14 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/X-N6RJaC-NDpepOtcyj0s62Q==/split_config.arm64_v8a.apk!libreactnative.so (facebook::jni::detail::MethodWrapper<void (facebook::react::JCxxCallbackImpl::*)(facebook::react::NativeArray*), &facebook::react::JCxxCallbackImpl::invoke(facebook::react::NativeArray*), facebook::react::JCxxCallbackImpl, void, facebook::react::NativeArray*>::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::JCxxCallbackImpl, facebook::react::JCallback>::JavaPart, facebook::react::JCallback, void>::_javaobject*>, facebook::react::NativeArray*&&)+120) (BuildId: c2b6b8cc86e09fa8)
#02 pc 0x000000000046f924 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/split_config.arm64_v8a.apk!libreactnative.so (facebook::jni::detail::MethodWrapper<void (facebook::react::JCxxCallbackImpl::*)(facebook::react::NativeArray*), &facebook::react::JCxxCallbackImpl::invoke(facebook::react::NativeArray*), facebook::react::JCxxCallbackImpl, void, facebook::react::NativeArray*>::call(_JNIEnv*, _jobject*, facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::NativeArray, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*)+76) (BuildId: c2b6b8cc86e09fa8)
#03 pc 0x0000000000da4bbc /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+124)
#04 pc 0x000000000068a320 /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
#05 pc 0x00000000002c0c58 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/base.apk (com.facebook.react.bridge.CxxCallbackImpl.invoke+28)
#06 pc 0x000000000068a2c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#07 pc 0x00000000004a28e4 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/base.apk (it.innove.NativeBleManagerSpec.emitOnDisconnectPeripheral+16)
#08 pc 0x000000000068a2c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#09 pc 0x00000000004a5b0a /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/base.apk (it.innove.V.y0+46)
#10 pc 0x000000000068a2c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#11 pc 0x00000000004a4124 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/base.apk (it.innove.V.S+64)
#12 pc 0x000000000068a2c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#13 pc 0x00000000004a3a3c /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/base.apk (it.innove.V.n)
#14 pc 0x00000000006893a4 /apex/com.android.art/lib64/libart.so (nterp_helper+52)
#15 pc 0x00000000004a2ff4 /data/app/~~bOM4YDM5L2fXHXTeI-Ng1A==/XXX-N6RJaC-NDpepOtcyj0s62Q==/base.apk (it.innove.Q.run+12)
#16 pc 0x000000000093e414 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+68)
#17 pc 0x0000000000941df4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+980)
#18 pc 0x0000000000941978 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+632)
#19 pc 0x00000000006e74a4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2132)
#20 pc 0x0000000000317460 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
#21 pc 0x0000000000311508 /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+544)
#22 pc 0x00000000005c82c8 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
#23 pc 0x0000000000da5b74 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+116)
#24 pc 0x0000000000c5ec34 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+116)
#25 pc 0x0000000000c69048 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3272)
#26 pc 0x0000000000317460 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
#27 pc 0x0000000000316100 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+800)
#28 pc 0x0000000000639868 /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)
#29 pc 0x00000000000df42c /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+108)
#30 pc 0x00000000000f5328 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+928)
#31 pc 0x00000000000025c8 /system/bin/app_process64 (main+1288)
#32 pc 0x000000000008f91c /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+120)
Smartphone (please complete the following information):
- Device: samsung s23 ultra, s24 ultra
- OS: android 13, 15, 16
- react-native-ble-manager version: 12.2.0
- react-native version: 0.81
Additional context we use companion scan for scanning, we use ble manager to connect and foreground service to keep the app alive in the background.
we have updated to expo sdk 54, react native 0.81, solved other crashes and observed these immediatelly after.
Hi @Aduomas , why do you think it's a problem of the library?
Hi @Aduomas , why do you think it's a problem of the library?
hey, i dont really know if it is the issue with library or not. maybe you have an idea?
The errors and crashes do not happen with native BLE implementation.
Did you try the latest RN version?
Did you try the latest RN version?
im using 0.81.4, should i try on 0.82 ?
Yes, try the 0.82, it seems a RN error handling the events.