Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluetooth Low Energy scan failed with error code: 2 #48

Open
1 task done
rothariger opened this issue May 7, 2018 · 29 comments
Open
1 task done

Bluetooth Low Energy scan failed with error code: 2 #48

rothariger opened this issue May 7, 2018 · 29 comments

Comments

@rothariger
Copy link

Prerequisites

  • Put an X between the brackets on this line if you have done all of the following:
    • My beacons have Estimote Monitoring enabled (Check it in the Estimote Cloud, or via app)
    • My Android device/devices supports BLE and has Android OS version >= 5.0.0
    • My Android device/devices have bluetooth enabled
    • My app has Location Permissions granted

Basic information

Estimote SDK version: 5.0.0

Android devices affected: Xiaomi Redmi Note 4

Android OS version affected: 7.1.1

Beacon hardware version: G1.12

Description

[Description of the issue]

I'm getting an Exception that crashes the App when starting to scan for beacons. For some reason this happens mostly on the listed devices, but it is also possible to trigger on other devices by turning off and on the Bluetooth before and/or after the scanning starts.

extra information about this issue, if i put the code in the main activity, it doesn't crash the application and i got the exception in withOnErrorAction, now we had to configure the scan in a service, because we want to be running in background whether the application is running or not.
Because of this change the entire application crashes, that's not what i've expected.

(Optional) Steps to reproduce:

There are no several steps, just one, trying to configure the beacons as the downloaded example.

Expected behavior:

Start the scanning?

Actual behavior:

Crashes with exception.

Additional information

W/System.err: io.reactivex.exceptions.UndeliverableException: java.lang.Exception: Bluetooth Low Energy scan failed with error code: 2
W/System.err: at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)
W/System.err: at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:74)
W/System.err: at com.estimote.scanning_plugin.packet_provider.scanner.PostLollipopEstimoteScanner$scan$1$callback$1.onScanFailed(PostLollipopEstimoteScanner.kt:29)
W/System.err: at android.bluetooth.le.BluetoothLeScanner$1.run(BluetoothLeScanner.java:478)
W/System.err: at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:165)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6365)
at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
W/System.err: Caused by: java.lang.Exception: Bluetooth Low Energy scan failed with error code: 2
... 9 more
W/MIUI-BLOCK-MONITOR: The binder call took 3622ms.
java.lang.Throwable
at android.os.AnrMonitor.checkBinderCallTime(AnrMonitor.java:607)
at android.os.BinderProxy.transact(Binder.java:623)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:5190)
at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:190)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
at io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:411)
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:365)
at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:74)
at com.estimote.scanning_plugin.packet_provider.scanner.PostLollipopEstimoteScanner$scan$1$callback$1.onScanFailed(PostLollipopEstimoteScanner.kt:29)
at android.bluetooth.le.BluetoothLeScanner$1.run(BluetoothLeScanner.java:478)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6365)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)

@pawelDylag
Copy link
Contributor

Thanks @rothariger for reporting this :)

Could you try disabling additional features when building your ProximityObserver object? There are two of them enabled by default - Telemetry scanning, and Estimote Secure Monitoring. If you don't need to use them, you can disable them like this:

      proximityObserver = ProximityObserverBuilder(applicationContext, cloudCredentials)
                ...
                .withEstimoteSecureMonitoringDisabled()
                .withTelemetryReportingDisabled()
                ...
                .build()

The above should reduce the number of BLE callbacks being registered in OS, thus reducing the possibility of Scan error 2.

@rothariger
Copy link
Author

Yep already tried that didn't help.

@janfbm
Copy link

janfbm commented May 9, 2018

+1
IMO, as long as it does not crash and bubble up the exception to builder.withOnErrorAction() correctly, it would be a big improvement.

Crashlytics stats:
vivo 87%
Xiaomi 4%
LENOVO 4%
samsung 3%
Other… 2%
;
Android 7 91%
Android 5 9%

@RasoolMohamed27
Copy link

Please fix this crash.

image

@Goncalo-Almeida
Copy link

I'm also getting this crash.
Let me know if I can be of any help.

I'm attaching my stacktrace from Crashlytics:

# OS Version: 7.0
# Device: BV6000
# RAM Free: 53.1%
# Disk Free: 81.2%

#0. Crashed: RxCachedThreadScheduler-25
       at io.reactivex.plugins.RxJavaPlugins.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.observers.LambdaObserver.dispose(Unknown Source)
       at com.estimote.scanning_plugin.api.use_cases.RxScanHandler.stop(Unknown Source)
       at com.estimote.proximity_sdk.monitoring.estimote_monitoring.secure.SecureEstimoteMonitor$mergeWithEstimoteLocationScan$1$3$1.cancel(Unknown Source)
       at io.reactivex.internal.disposables.CancellableDisposable.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.disposeAll(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainFused(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

--

Fatal Exception: io.reactivex.exceptions.UndeliverableException: java.lang.Exception: Bluetooth Low Energy scan failed with error code: 2
       at io.reactivex.plugins.RxJavaPlugins.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.observers.LambdaObserver.dispose(Unknown Source)
       at com.estimote.scanning_plugin.api.use_cases.RxScanHandler.stop(Unknown Source)
       at com.estimote.proximity_sdk.monitoring.estimote_monitoring.secure.SecureEstimoteMonitor$mergeWithEstimoteLocationScan$1$3$1.cancel(Unknown Source)
       at io.reactivex.internal.disposables.CancellableDisposable.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.disposeAll(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainFused(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

Caused by java.lang.Exception: Bluetooth Low Energy scan failed with error code: 2
       at com.estimote.scanning_plugin.packet_provider.scanner.PostLollipopEstimoteScanner$scan$1$callback$1.onScanFailed(Unknown Source)
       at android.bluetooth.le.BluetoothLeScanner$1.run(BluetoothLeScanner.java:475)
       at android.os.Handler.handleCallback(Handler.java:836)
       at android.os.Handler.dispatchMessage(Handler.java:103)
       at android.os.Looper.loop(Looper.java:203)
       at android.app.ActivityThread.main(ActivityThread.java:6247)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)

#0. Crashed: RxCachedThreadScheduler-25
       at io.reactivex.plugins.RxJavaPlugins.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.observers.LambdaObserver.dispose(Unknown Source)
       at com.estimote.scanning_plugin.api.use_cases.RxScanHandler.stop(Unknown Source)
       at com.estimote.proximity_sdk.monitoring.estimote_monitoring.secure.SecureEstimoteMonitor$mergeWithEstimoteLocationScan$1$3$1.cancel(Unknown Source)
       at io.reactivex.internal.disposables.CancellableDisposable.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.disposeAll(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainFused(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#1. DBFlow Transaction Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
       at com.raizlabs.android.dbflow.structure.database.transaction.DefaultTransactionQueue.run(Unknown Source)

#2. OkHttp ConnectionPool
       at java.lang.Object.wait(Object.java)
       at com.android.okhttp.ConnectionPool.performCleanup(ConnectionPool.java:305)
       at com.android.okhttp.ConnectionPool.runCleanupUntilPoolIsEmpty(ConnectionPool.java:242)
       at com.android.okhttp.ConnectionPool.-wrap0(ConnectionPool.java)
       at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:97)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#3. RxSchedulerPurge-1
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#4. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#5. RxCachedThreadScheduler-20
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#6. pool-8-thread-2
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#7. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#8. RxCachedThreadScheduler-9
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#9. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#10. RxComputationThreadPool-1
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#11. HeapTaskDaemon
       at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java)
       at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:438)
       at java.lang.Thread.run(Thread.java:761)

#12. Answers Events Handler1
       at libcore.io.Posix.writeBytes(Posix.java)
       at libcore.io.Posix.write(Posix.java:273)
       at libcore.io.BlockGuardOs.write(BlockGuardOs.java:319)
       at libcore.io.IoBridge.write(IoBridge.java:496)
       at java.io.RandomAccessFile.writeBytes(RandomAccessFile.java:478)
       at java.io.RandomAccessFile.write(RandomAccessFile.java:493)
       at io.fabric.sdk.android.services.common.QueueFile.initialize(Unknown Source)
       at io.fabric.sdk.android.services.common.QueueFile.(Unknown Source)
       at io.fabric.sdk.android.services.events.QueueFileEventStorage.rollOver(Unknown Source)
       at io.fabric.sdk.android.services.events.EventsFilesManager.rollFileOver(Unknown Source)
       at com.crashlytics.android.answers.EnabledSessionAnalyticsManagerStrategy.rollFileOver(Unknown Source)
       at io.fabric.sdk.android.services.events.TimeBasedFileRollOverRunnable.run(Unknown Source)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
       at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:278)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:273)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(Unknown Source)
       at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(Unknown Source)
       at java.lang.Thread.run(Thread.java:761)

#13. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#14. RxCachedThreadScheduler-5
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#15. FinalizerWatchdogDaemon
       at java.lang.Thread.sleep(Thread.java)
       at java.lang.Thread.sleep(Thread.java:371)
       at java.lang.Thread.sleep(Thread.java:313)
       at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:315)
       at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:338)
       at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:254)
       at java.lang.Thread.run(Thread.java:761)

#16. RxCachedThreadScheduler-8
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#17. RxCachedThreadScheduler-23
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#18. RxCachedThreadScheduler-18
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#19. RxCachedThreadScheduler-16
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#20. RxCachedThreadScheduler-19
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#21. RxCachedThreadScheduler-2
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#22. ReferenceQueueDaemon
       at java.lang.Object.wait(Object.java)
       at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150)
       at java.lang.Thread.run(Thread.java:761)

#23. pool-4-thread-1
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#24. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#25. Okio Watchdog
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:407)
       at okio.AsyncTimeout.exit(Unknown Source)
       at okio.AsyncTimeout$Watchdog.run(Unknown Source)

#26. RxCachedThreadScheduler-1
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#27. RxCachedThreadScheduler-4
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#28. RxCachedThreadScheduler-21
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#29. RxCachedThreadScheduler-12
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#30. RxCachedThreadScheduler-6
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#31. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#32. RxCachedThreadScheduler-15
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#33. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#34. Measurement Worker
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:407)
       at com.google.android.gms.internal.measurement.zzgk.run(Unknown Source)

#35. RxCachedThreadScheduler-7
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#36. RxCachedThreadScheduler-13
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#37. OkHttp ConnectionPool
       at java.lang.Object.wait(Object.java)
       at okhttp3.ConnectionPool$1.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#38. RxCachedThreadScheduler-24
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#39. Crashlytics Exception Handler1
       at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
       at java.lang.Thread.getStackTrace(Thread.java:1566)
       at java.lang.Thread.getAllStackTraces(Thread.java:1616)
       at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsController.writeFatal(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsController.enableExceptionHandling(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsController$7.call(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsController$7.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(Unknown Source)
       at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(Unknown Source)
       at java.lang.Thread.run(Thread.java:761)

#40. RxCachedWorkerPoolEvictor-1
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#41. RxCachedThreadScheduler-10
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#42. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#43. RxCachedThreadScheduler-11
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#44. RxCachedThreadScheduler-25
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:421)
       at java.util.concurrent.FutureTask.get(FutureTask.java:163)
       at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsController.enableExceptionHandling(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsController$6.onUncaughtException(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(Unknown Source)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
       at io.reactivex.plugins.RxJavaPlugins.uncaught(Unknown Source)
       at io.reactivex.plugins.RxJavaPlugins.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.observers.LambdaObserver.dispose(Unknown Source)
       at com.estimote.scanning_plugin.api.use_cases.RxScanHandler.stop(Unknown Source)
       at com.estimote.proximity_sdk.monitoring.estimote_monitoring.secure.SecureEstimoteMonitor$mergeWithEstimoteLocationScan$1$3$1.cancel(Unknown Source)
       at io.reactivex.internal.disposables.CancellableDisposable.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.dispose(Unknown Source)
       at io.reactivex.internal.disposables.DisposableHelper.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.disposeAll(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onError(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainFused(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#45. FinalizerDaemon
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:407)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
       at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:205)
       at java.lang.Thread.run(Thread.java:761)

#46. pool-8-thread-1
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#47. RxCachedThreadScheduler-17
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#48. Queue
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:421)
       at java.util.concurrent.FutureTask.get(FutureTask.java:163)
       at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsCore.markInitializationStarted(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsCore.doInBackground(Unknown Source)
       at com.crashlytics.android.core.CrashlyticsCore.doInBackground(Unknown Source)
       at io.fabric.sdk.android.InitializationTask.onPreExecute(Unknown Source)
       at io.fabric.sdk.android.InitializationTask.onPreExecute(Unknown Source)
       at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#49. RxCachedThreadScheduler-3
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#50. RxCachedThreadScheduler-14
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:341)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
       at java.net.Socket.connect(Socket.java:616)
       at okhttp3.internal.platform.AndroidPlatform.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connectSocket(Unknown Source)
       at okhttp3.internal.connection.RealConnection.connect(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(Unknown Source)
       at okhttp3.internal.connection.StreamAllocation.newStream(Unknown Source)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.NoCookieAuthorizationHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source)
       at okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source)
       at okhttp3.RealCall.execute(Unknown Source)
       at retrofit2.OkHttpCall.execute(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
       at io.reactivex.Observable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(Unknown Source)
       at io.reactivex.Completable.subscribe(Unknown Source)
       at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(Unknown Source)
       at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

#51. RxCachedThreadScheduler-22
       at java.lang.Object.wait(Object.java)
       at java.lang.Thread.parkFor$(Thread.java:2127)
       at sun.misc.Unsafe.park(Unsafe.java:325)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)


@RasoolMohamed27
Copy link

Please fix this crash soon.

@biodunalfet
Copy link

I get the exact same error here too.

@kamilwlf
Copy link

kamilwlf commented Sep 3, 2018

I have same error on Xiaomi 5A

@kamilwlf
Copy link

kamilwlf commented Sep 5, 2018

any update? I get it on few devices its so random

@kamilwlf
Copy link

phone restart helps but only for a few hours

@pratikchawke
Copy link

I am also getting the same error.

Proximity observation error: Bluetooth Low Energy scan failed with error code: 2

It works sometime and sometime throws error. @pawelDylag could you please help with the possible solution?

@pstagkopoulos
Copy link

Hello,

I have the same problem which is described above.

Android Proximity SDK version: 1.0.3
Android devices affected: Xiaomi Redmi Note 4
Android OS version affected: 7.1.1
Beacon hardware version: G1.12

After several hours to debug my application in a few devices, in my console (Logcat), i have this error,

E/BtGatt.GattService: App is scanning too frequently.

After 2 seconds my application is crashed with the same error code.

I wish I helped you.

@gianlucainnocente
Copy link

I also have this error...

@jax79sg
Copy link

jax79sg commented Nov 23, 2018

@pawelDylag I'm having the same problem, also tried above proposed solutions. This seems to be a critical yet active issue since May 2018. The intermittence of this error means we cannot deploy this into active production. Are there plans to look into this?

@mackankowski
Copy link

Tested on couple modern devices, but issue occurs on some of them. Please fix it finally!

@mfathy
Copy link

mfathy commented Dec 13, 2018

Hello @pawelDylag

At least you should handle this exception at your side as it causes crashes to our development apps, and we can't handle it as it gives crashes from inside your SDK, check this exception:

Fatal Exception: o.fj.f: java.lang.Exception: Bluetooth Low Energy scan failed with error code: 2 at io.reactivex.plugins.RxJavaPlugins.onError(Unknown Source:20) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onError(Unknown Source:21) at io.reactivex.internal.operators.observable.ObservablePublish$PublishObserver.onSubscribe(Unknown Source:27) at io.reactivex.internal.observers.BasicFuseableObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.observers.BasicFuseableObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onError(Unknown Source:17) at io.reactivex.internal.operators.observable.ObservablePublish$PublishObserver.onSubscribe(Unknown Source:27) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(Unknown Source:17) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(Unknown Source) at **com.estimote.proximity_sdk.internals.monitoring.estimote_monitoring.SimpleEstimoteMonitor$startEstimoteLocationScan$1$2.invoke(Unknown Source:7) at com.estimote.proximity_sdk.internals.monitoring.estimote_monitoring.SimpleEstimoteMonitor$startEstimoteLocationScan$1$2.invoke(Unknown Source:2) at com.estimote.scanning_plugin.api.use_cases.ScanUseCase$notifyUserCallbacks$2.accept(Unknown Source:7) at com.estimote.scanning_plugin.api.use_cases.ScanUseCase$notifyUserCallbacks$2.accept(Unknown Source:2)** at io.reactivex.internal.observers.LambdaObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.observers.BasicFuseableObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.observers.BasicFuseableObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.observers.BasicFuseableObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.observers.BasicFuseableObserver.onSubscribe(Unknown Source:13) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(Unknown Source:17) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(Unknown Source) at com.estimote.scanning_plugin.packet_provider.scanner.PostLollipopEstimoteScanner$scan$1$callback$1.onScanFailed(Unknown Source:32) at android.bluetooth.le.BluetoothLeScanner$1.run(BluetoothLeScanner.java:559) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6753) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Or give us away to handle it. We don't want a fix to reduce the number, you should give us a reliable solution to handle the issue or fix it totally.

@pawelDylag
Copy link
Contributor

pawelDylag commented Dec 13, 2018

Hey guys!

I'm super sorry for not answering you for a while. We have tons of work here, and I work on multiple projects, so it's sometimes difficult to keep up with all of those. But no excuses! As for your problem - I will add this to my backlog to dig deeper into this error, though I had some problems with reproducing it AFAIR. For the time being you can think of using global onError handler to prevent your app from crashing. Just register code like this:

RxJavaPlugins.getInstance().registerErrorHandler(new RxJavaErrorHandler() {
    @Override
    public void handleError(Throwable e) {
        e.printStackTrace();
    }
});

It's an ugly solution, but sometimes you encounter bugs in RxJava that you can't deal in a proper way. So you have to use this global listener. We're not using it internally (because we hate ugly solutions), so this is why it's crashing. We may need to think about using it for a long term, because hey... it's crashing your apps, doesn't it?

Lemme know if that helps in any way. I will keep you all updated when I finally got some time to fix that on our side :)

Best wishes 🚀,
Paweł

@pawelDylag pawelDylag added the bug label Dec 13, 2018
@jax79sg
Copy link

jax79sg commented Dec 13, 2018 via email

@umarF
Copy link

umarF commented Jan 10, 2019

Its 2019 !
Come on guys fix it !

@rothariger
Copy link
Author

Umar, it's time to move on...
There are plenty devices like this, if they didn't care the customer.

@umarF
Copy link

umarF commented Jan 10, 2019

@rothariger It really seems the only way now. It's really weird such a major issue is open and they couldn't give a proper solution for it.

@rothariger
Copy link
Author

Yep, and the worst part is that they don't give any update on this...

@umarF
Copy link

umarF commented Jan 10, 2019

@rothariger yes exactly, and also I mean I don't think everyone uses iOS devices for such beacon activities, it should be a major chunk of their revenue (from android side) and should have been given priority, because number of devices effected in Android > iOS always.

@IreneTrullen
Copy link

IreneTrullen commented Jan 29, 2019

I can manage the exception adding this code on ProximityContentManager.java on start() function.

RxJavaPlugins.setErrorHandler(e -> {
            if (e instanceof UndeliverableException) {
                e = e.getCause();
            }
            if ((e instanceof IOException) || (e instanceof SocketException)) {
                // fine, irrelevant network problem or API that throws on cancellation
                return;
            }
            if (e instanceof InterruptedException) {
                // fine, some blocking code was interrupted by a dispose call
                return;
            }
            if ((e instanceof NullPointerException) || (e instanceof IllegalArgumentException)) {
                // that's likely a bug in the application
                Thread.currentThread().getUncaughtExceptionHandler()
                        .uncaughtException(Thread.currentThread(), e);
                return;
            }
            if (e instanceof IllegalStateException) {
                // that's a bug in RxJava or in a custom operator
                Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
                return;
            }
            Log.w("Undeliverable exception received, not sure what to do", e);
        });

#See RxJava What's different in 2.0 error for more info#

At least it doesn't crash!

Hope it helps! 👍

@umarF
Copy link

umarF commented Jan 29, 2019 via email

@heypiotr
Copy link
Contributor

There's really two problems here:

  1. The SDK crashing when an error happens, instead of propagating the error to the onError handler like expected. @IreneTrullen shared a work-around for that here: Bluetooth Low Energy scan failed with error code: 2 #48 (comment)

  2. The root-cause, i.e., the "scanning failed with error code 2". I've just described what this error is/means and why it's not as scary as it seems on our forums: https://forums.estimote.com/t/postlollipopestimotescanner-kt-line-29/9745/2?u=heypiotr

@tharpa
Copy link

tharpa commented May 19, 2019

Got the same issue on Cubot J3, Android Oreo 8.1.0. Opened a new issue #94.

Please provide us with a fix guys!

@vardaan
Copy link

vardaan commented Jun 10, 2019

Guys when are you planning to fix this. We are getting this a lot in production.

@heypiotr
Copy link
Contributor

Hey @vardaan, please see my explanation of the root cause of the "error code 2".

https://forums.estimote.com/t/postlollipopestimotescanner-kt-line-29/9745/2?u=heypiotr

If you're getting this error in your production app, it's very likely that you're not managing the lifecycle of the Proximity Observer properly.

If you believe you're doing everything right, please post a new issue with all the details we ask for in the issue template + your code (especially the bits where you starts/stop the observer) + full output from logcat (don't use the "my app only" filter, we want to see the logs from the system Bluetooth services).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests