Estimote / Android-Proximity-SDK

Estimote Proximity SDK for Android
https://developer.estimote.com
MIT License
82 stars 42 forks source link

Bluetooth Low Energy scan failed with error code: 4 #42

Closed francisco-rg closed 6 years ago

francisco-rg commented 6 years ago

Prerequisites

Basic information

Estimote SDK version: [0.4.1 mustard:0.2.1]

Android devices affected: [Samsung Galaxy J1 Ace, Motorola G5 Play]

Android OS version affected: [Android Lollipop 5.1.1 Api 22, Android Marshmellow 6.0.1]

Beacon hardware version: [F3.3 / Estimote OS 4.13.2]

Description

[When our app start and begans to scan for beacons it crash, see below for log details, if need we have crashlytics info ]

(Optional) Steps to reproduce:

  1. [staring the app]

Expected behavior: [start searching for beacons, zone event should be fired upon a beacon detection, no to crash the app]

Actual behavior: [crash]

Additional information

Might be the same case as issue #37 or at least related

Caused by java.lang.Exception
Bluetooth Low Energy scan failed with error code: 2
arrow_right
com.estimote.scanning_plugin.packet_provider.scanner.PostLollipopEstimoteScanner$scan$1$callback$1.onScanFailed (PostLollipopEstimoteScanner.kt:30)
android.bluetooth.le.BluetoothLeScanner$1.run (BluetoothLeScanner.java:416)
android.os.Handler.handleCallback (Handler.java:746)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:148)
android.app.ActivityThread.main (ActivityThread.java:5459)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:728)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618)

Fatal Exception: io.b.c.f
java.lang.Exception: Bluetooth Low Energy scan failed with error code: 2
io.reactivex.plugins.RxJavaPlugins.onError (RxJavaPlugins.java:349)
io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onError (ObservableFlatMap.java:573)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.observers.SerializedObserver.onError (SerializedObserver.java:155)
io.reactivex.internal.operators.observable.ObservableDebounceTimed$DebounceTimedObserver.onError (ObservableDebounceTimed.java:104)
io.reactivex.internal.operators.observable.ObservableRefCount$ConnectionObserver.onError (ObservableRefCount.java:134)
io.reactivex.internal.operators.observable.ObservablePublish$PublishObserver.onError (ObservablePublish.java:184)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.internal.operators.observable.ObservableRefCount$ConnectionObserver.onError (ObservableRefCount.java:134)
io.reactivex.internal.operators.observable.ObservablePublish$PublishObserver.onError (ObservablePublish.java:184)
io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError (ObservableCreate.java:85)
io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError (ObservableCreate.java:73)
com.estimote.proximity_sdk.monitoring.estimote_monitoring.SimpleEstimoteMonitor$startEstimoteLocationScan$1$2.invoke (SimpleEstimoteMonitor.kt:44)
com.estimote.proximity_sdk.monitoring.estimote_monitoring.SimpleEstimoteMonitor$startEstimoteLocationScan$1$2.invoke (SimpleEstimoteMonitor.kt:16)
com.estimote.scanning_plugin.api.use_cases.ScanUseCase$notifyUserCallbacks$2.accept (ScanUseCase.kt:28)
com.estimote.scanning_plugin.api.use_cases.ScanUseCase$notifyUserCallbacks$2.accept (ScanUseCase.kt:8)
io.reactivex.internal.observers.LambdaObserver.onError (LambdaObserver.java:77)
io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate (ObservableFlatMap.java:495)
io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drainLoop (ObservableFlatMap.java:331)
io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drain (ObservableFlatMap.java:323)
io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onError (ObservableFlatMap.java:571)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.internal.observers.BasicFuseableObserver.onError (BasicFuseableObserver.java:100)
io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError (ObservableCreate.java:85)
io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError (ObservableCreate.java:73)
com.estimote.scanning_plugin.packet_provider.scanner.PostLollipopEstimoteScanner$scan$1$callback$1.onScanFailed (PostLollipopEstimoteScanner.kt:30)
android.bluetooth.le.BluetoothLeScanner$1.run (BluetoothLeScanner.java:416)
pawelDylag commented 6 years ago

Hello @francisco-rg

Thanks for reporting this issue. For the sake of clarity I'll be updating issue https://github.com/Estimote/Android-Proximity-SDK/issues/36 - because it is in fact the same problem.

Regards, Paweł