stripe-terminal-android
stripe-terminal-android copied to clipboard
OnErrorNotImplementedException: Exception not handled
Summary
I have received this crash from some of the devices out in the field. I haven't been able to reproduce. Is this the missing onError handler in the subscribe() method in the SDK as the crash log says?
Crash log
Fatal Exception: io.reactivex.rxjava3.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.NullPointerException: Attempt to invoke virtual method 'void android.bluetooth.BluetoothGatt.close()' on a null object reference
at io.reactivex.rxjava3.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:718)
at io.reactivex.rxjava3.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:715)
at io.reactivex.rxjava3.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)
at io.reactivex.rxjava3.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67)
at io.reactivex.rxjava3.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:310)
at io.reactivex.rxjava3.subjects.PublishSubject.onNext(PublishSubject.java:226)
at io.reactivex.rxjava3.subjects.SerializedSubject.onNext(SerializedSubject.java:104)
at com.stripe.core.hardware.reactive.status.ReactiveReaderStatusListener.handleReaderDisconnect(ReactiveReaderStatusListener.kt:110)
at com.stripe.core.bbpos.hardware.BbposControllerListener.onError(BbposControllerListener.kt:97)
at com.stripe.core.bbpos.hardware.BbposPaymentCollectionListener.onError(BbposPaymentCollectionListener.kt:474)
at com.stripe.core.bbpos.hardware.DeviceListenerRegistryImpl$onError$1.invoke(DeviceListenerRegistryImpl.kt:174)
at com.stripe.core.bbpos.hardware.DeviceListenerRegistryImpl$onError$1.invoke(DeviceListenerRegistryImpl.kt:174)
at com.stripe.core.bbpos.hardware.DeviceListenerRegistryImpl.notifyAll(DeviceListenerRegistryImpl.kt:50)
at com.stripe.core.bbpos.hardware.DeviceListenerRegistryImpl.onError(DeviceListenerRegistryImpl.kt:174)
at com.stripe.core.bbpos.BbposDeviceListenerWrapperImpl.onError(BbposDeviceListenerWrapperImpl.kt:210)
at com.stripe.bbpos.bbdevice.BBDeviceController.aaa000(SourceFile:927)
at com.stripe.bbpos.bbdevice.BBDeviceController.$r8$lambda$76eOkM9SKk39XLcSmxwXhiuU8d8()
at com.stripe.bbpos.bbdevice.BBDeviceController$$ExternalSyntheticLambda92.run(:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8577)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Android version
Android 11, 12
Impacted devices (Android devices or readers)
Galaxy Tab A7
SDK version
2.17.1
Hi @Sbf, have you seen this occur out in the field more recently still? If you have any reader serial numbers to share that this has been happening on, we can investigate further.
Hi @Sbf -- can you provide any reader serial numbers that have experienced this error, so we can look closer?
Hi @Sbf -- can you provide any reader serial numbers that have experienced this error, so we can look closer?
@billfinn-stripe Sorry, I know it's still happening, but I left the company, and can't provide any info.
I see -- thanks. Given the exception is unhandled, I don't think we'd find any trace of it in our logs. We can look into adding some more observability into this type of failure, so we can more easily diagnose.
I'll leave this issue open for now.
The original issue creator is no longer working for their company, and they haven't responded with serial numbers of readers with this error, so I'm closing this issue.