react-native-ble-manager icon indicating copy to clipboard operation
react-native-ble-manager copied to clipboard

android crashes upon emitOnDisconnectPeripheral

Open Aduomas opened this issue 3 months ago • 5 comments

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

Image
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.

Aduomas avatar Oct 27 '25 17:10 Aduomas

Hi @Aduomas , why do you think it's a problem of the library?

marcosinigaglia avatar Nov 06 '25 09:11 marcosinigaglia

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.

Aduomas avatar Nov 06 '25 10:11 Aduomas

Did you try the latest RN version?

marcosinigaglia avatar Nov 06 '25 10:11 marcosinigaglia

Did you try the latest RN version?

im using 0.81.4, should i try on 0.82 ?

Aduomas avatar Nov 06 '25 12:11 Aduomas

Yes, try the 0.82, it seems a RN error handling the events.

marcosinigaglia avatar Nov 07 '25 08:11 marcosinigaglia