Estimote / Android-Proximity-SDK

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

Crash when starting a ProximityObserver without internet access #33

Closed Goncalo-Almeida closed 6 years ago

Goncalo-Almeida commented 6 years ago

Prerequisites

Basic information

Estimote SDK version: 3.3.0

Android devices affected: Vodafone VFD 510

Android OS version affected: Nougat 7.1.1

Beacon hardware version: G1.8

Description

I'm getting an exception that seems to be related with the lack of internet access to reach cloud.estimote.com. I stumbled upon this while testing the app without internet access. When I start the service without internet access the app crashes (stack trace at the bottom).

Steps to reproduce:

  1. Create a ProximityObserver My code:

    Notification notification =
                notificationHelper.getNotification("Beacon Scan", "Scan is running...", null);
        cloudCredentials = new EstimoteCloudCredentials(ESTIMOTE_APP_ID, ESTIMOTE_APP_TOKEN);
        proximityObserver = new ProximityObserverBuilder(mActivity, cloudCredentials)
                .withBalancedPowerMode()
                .withScannerInForegroundService(notification)
                .withOnErrorAction(onErrorAction)
                .build();
    
        venueZone = proximityObserver.zoneBuilder()
                .forAttachmentKeyAndValue("place", "some_place")
                .inNearRange()
                .withOnEnterAction(onEnterAction)
                .withOnExitAction(onExitAction)
                .withOnChangeAction(onChangeAction)
                .create();
    
        observationHandler =
                proximityObserver
                        .addProximityZone(venueZone)
                        .start();
  2. Turn off Wi-Fi, and remove the SIM card (and any internet access)
  3. Start the app

Expected behavior: Either a warning or some error for the developer to deal with.

Actual behavior: Application crashes

Additional information

03-04 22:19:51.471 2384-2384/pt.company.mobile.company_at D/Error: ERR: exClass=java.lang.IllegalStateException
03-04 22:19:51.471 2384-2384/pt.company.mobile.company_at D/Error: ERR: exMsg=invoke(...) must not be null
03-04 22:19:51.471 2384-2384/pt.company.mobile.company_at D/Error: ERR: file=ProximityObservationUseCase.kt
03-04 22:19:51.471 2384-2384/pt.company.mobile.company_at D/Error: ERR: class=com.estimote.proximity_sdk.proximity.ProximityObservationUseCaseKt$sam$Consumer$78f55195
03-04 22:19:51.471 2384-2384/pt.company.mobile.company_at D/Error: ERR: method=accept line=-1
03-04 22:19:51.472 2384-2384/pt.company.mobile.company_at D/Error: ERR: stack=io.reactivex.exceptions.CompositeException: 2 exceptions occurred. 
                                                                at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:80)
                                                                at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:85)
                                                                at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:73)
                                                                at com.estimote.proximity_sdk.proximity.ProximityObservationUseCase$stopMonitoringWhenDisposed$1$2.accept(ProximityObservationUseCase.kt:55)
                                                                at com.estimote.proximity_sdk.proximity.ProximityObservationUseCase$stopMonitoringWhenDisposed$1$2.accept(ProximityObservationUseCase.kt:17)
                                                                at io.reactivex.internal.observers.ConsumerSingleObserver.onError(ConsumerSingleObserver.java:47)
                                                                at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:69)
                                                                at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:69)
                                                                at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:69)
                                                                at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:69)
                                                                at io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:79)
                                                                at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)
                                                                at android.os.Handler.handleCallback(Handler.java:751)
                                                                at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                at android.os.Looper.loop(Looper.java:154)
                                                                at android.app.ActivityThread.main(ActivityThread.java:6146)
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                                                              ComposedException 1 :
                                                                **java.net.UnknownHostException: Unable to resolve host "cloud.estimote.com": No address associated with hostname**
                                                                at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:125)
                                                                at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:74)
                                                                at java.net.InetAddress.getAllByName(InetAddress.java:752)
                                                                at okhttp3.Dns$1.lookup(Dns.java:39)
                                                                at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:171)
                                                                at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:137)
                                                                at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:82)
                                                                at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:171)
                                                                at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
                                                                at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
                                                                at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                at com.estimote.cloud_plugin.common.AuthorizationHeaderInterceptor.intercept(HttpInterceptors.kt:26)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(HttpInterceptors.kt:16)
                                                                    at okhttp3.
pawelDylag commented 6 years ago

Hey @Goncalo-Almeida

Thank you very much for reporting this! It seems that some nasty unhandled exception is surfacing from our side, which definitely shouldn't happen. We'll investigate this and fix it in the next release :)

Regards, Paweł

pawelDylag commented 6 years ago

One more thing @Goncalo-Almeida - could you share with me the snippet with your onErrorAction?

Goncalo-Almeida commented 6 years ago

Sure =) The onErrorAction is just a copy of the example:

    private final Function1<Throwable, Unit> onErrorAction = new Function1<Throwable, Unit>() {
        @Override
        public Unit invoke(Throwable throwable) {
            return null;
        }
    };
pawelDylag commented 6 years ago

Thanks @Goncalo-Almeida ! I will look at this and will let you know about the progress :)

Goncalo-Almeida commented 6 years ago

Hi @pawelDylag, I saw you solved issue 32 and decided to test how this would impact the issues I have opened. I've just tested version 0.4.1 of the Proximity SDK and the app is no longer crashing (which is good =]) and is now throwing this exception:

03-16 09:40:43.693 8004-8004/pt.mobile.vasp.beacontestapp W/System.err: java.net.UnknownHostException: Unable to resolve host "cloud.estimote.com": No address associated with hostname
03-16 09:40:43.694 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:125)
03-16 09:40:43.694 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:74)
03-16 09:40:43.694 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.net.InetAddress.getAllByName(InetAddress.java:757)
03-16 09:40:43.694 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.Dns$1.lookup(Dns.java:39)
03-16 09:40:43.694 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:171)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:137)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:82)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:171)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.695 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at com.estimote.cloud_plugin.common.AuthorizationHeaderInterceptor.intercept(HttpInterceptors.kt:26)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at com.estimote.cloud_plugin.common.UserAgentHeaderInterceptor.intercept(HttpInterceptors.kt:16)
03-16 09:40:43.696 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at com.estimote.cloud_plugin.common.ContentTypeHeaderInterceptor.intercept(HttpInterceptors.kt:9)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at okhttp3.RealCall.execute(RealCall.java:69)
03-16 09:40:43.697 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(CallObservable.java:41)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Observable.subscribe(Observable.java:10903)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Observable.subscribe(Observable.java:10903)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleToFlowable.subscribeActual(SingleToFlowable.java:37)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12995)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12941)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableConcatMap$ConcatMapImmediate.drain(FlowableConcatMap.java:344)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableConcatMap$BaseConcatMapSubscriber.onSubscribe(FlowableConcatMap.java:124)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableFromIterable.subscribe(FlowableFromIterable.java:69)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableFromIterable.subscribeActual(FlowableFromIterable.java:47)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12995)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12941)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableConcatMapPublisher.subscribeActual(FlowableConcatMapPublisher.java:47)
03-16 09:40:43.698 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12995)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableFlatMap.subscribeActual(FlowableFlatMap.java:53)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12995)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableDistinct.subscribeActual(FlowableDistinct.java:55)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Flowable.subscribe(Flowable.java:12995)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.flowable.FlowableToListSingle.subscribeActual(FlowableToListSingle.java:57)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:84)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleJust.subscribeActual(SingleJust.java:30)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Single.subscribe(Single.java:2707)
03-16 09:40:43.699 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
03-16 09:40:43.700 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.lang.Thread.run(Thread.java:761)
03-16 09:40:43.701 8004-8004/pt.mobile.vasp.beacontestapp W/System.err: Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
03-16 09:40:43.701 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at libcore.io.Posix.android_getaddrinfo(Native Method)
03-16 09:40:43.701 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
03-16 09:40:43.701 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:106)
03-16 09:40:43.701 8004-8004/pt.mobile.vasp.beacontestapp W/System.err:     ... 75 more

I have created a sample app just to test the Proximity SDK, let me know that is of any use and send it to you.

Veer50 commented 6 years ago

Getting "Unable to resolve host "cloud.estimote.com": No address associated with hostname" Error.

pawelDylag commented 6 years ago

Hello guys,

Version 0.4.2 is now live - all uncaught errors should be now properly reported via onErrorAction. No crashes should occur from now on :)

Let me know about any other problems you encounter!

pawelDylag commented 6 years ago

Hey guys,

Pro tip to my future self - always check if you rebased and merged feature branch to master before releasing the new version 😆 Sorry for this, the version 0.4.3 should contain all the changes ^^

Regards, Paweł

francisco-rg commented 6 years ago

Hey @pawelDylag ,

Not sure if it's the same issue I feel that there is but still with sdk 0.4.3 found this timeout issue:

Caused by java.lang.IllegalStateException invoke(...) must not be null arrow_right com.estimote.proximity_sdk.proximity.ProximityObservationUseCaseKt$sam$Consumer$78f55195.accept (ProximityObservationUseCase.kt) io.reactivex.internal.observers.LambdaObserver.onError (LambdaObserver.java:77) io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate (ObservableFlatMap.java:495) io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drainLoop (ObservableFlatMap.java:331) io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drain (ObservableFlatMap.java:323) io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onError (ObservableFlatMap.java:288) io.reactivex.internal.operators.single.SingleToObservable$SingleToObservableObserver.onError (SingleToObservable.java:65) io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError (SingleMap.java:69) io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError (SingleMap.java:69) io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError (SingleMap.java:69) io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError (SingleMap.java:69) io.reactivex.internal.operators.single.SingleDoOnSuccess$DoOnSuccess.onError (SingleDoOnSuccess.java:64) io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError (SingleMap.java:69) io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run (SingleObserveOn.java:79) io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run (HandlerScheduler.java:109)

More info below and if need you can access our crashlytics if need it

image

image

Tell us if you need anything

Regards, Francisco

ShugaSvc commented 6 years ago

Hi @pawelDylag we are using sdk 0.4.4 but is also seeing this error (please see our crash screenshot below), please let me know how I can help to resolve this issue:

image