AdevintaSpain / Leku

:earth_africa: Map location picker component for Android. Based on Google Maps. An alternative to Google Place Picker.
https://adevintaspain.github.io/Leku/
Apache License 2.0
763 stars 170 forks source link

crash v9.1.1 #339

Closed fukemy closed 1 year ago

fukemy commented 2 years ago
Process: com.civix.link, PID: 12269
    io.reactivex.rxjava3.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | com.adevinta.leku.geocoder.api.NetworkException: HTTP error code: 400
        at io.reactivex.rxjava3.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:372)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:74)
        at com.adevinta.leku.geocoder.GoogleGeocoderDataSource.getFromLocationName$lambda-1(GoogleGeocoderDataSource.kt:44)
        at com.adevinta.leku.geocoder.GoogleGeocoderDataSource.lambda$-p8szkE9nA6zDcul74gYmq4bLsY(Unknown Source:0)
        at com.adevinta.leku.geocoder.-$$Lambda$GoogleGeocoderDataSource$-p8szkE9nA6zDcul74gYmq4bLsY.subscribe(Unknown Source:4)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:41)
        at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13176)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableOnErrorNext$OnErrorNextObserver.onError(ObservableOnErrorNext.java:96)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableRetryPredicate$RepeatObserver.onError(ObservableRetryPredicate.java:79)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onError(ObservableSubscribeOn.java:63)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:85)
        at com.adevinta.leku.geocoder.AndroidGeocoderDataSource.getFromLocationName$lambda-0(AndroidGeocoderDataSource.kt:19)
        at com.adevinta.leku.geocoder.AndroidGeocoderDataSource.lambda$EE87VfWK7CBZfu5B8Lx_S9ZwswY(Unknown Source:0)
        at com.adevinta.leku.geocoder.-$$Lambda$AndroidGeocoderDataSource$EE87VfWK7CBZfu5B8Lx_S9ZwswY.subscribe(Unknown Source:4)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:41)
        at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13176)
        at io.reactivex.rxjava3.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
        at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
        at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
        at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)
     Caused by: com.adevinta.leku.geocoder.api.NetworkException: HTTP error code: 400
        at com.adevinta.leku.geocoder.api.NetworkClient.requestFromLocationName(NetworkClient.kt:30)
        at com.adevinta.leku.geocoder.GoogleGeocoderDataSource.getFromLocationName$lambda-1(GoogleGeocoderDataSource.kt:34)
        at com.adevinta.leku.geocoder.GoogleGeocoderDataSource.lambda$-p8szkE9nA6zDcul74gYmq4bLsY(Unknown Source:0) 
        at com.adevinta.leku.geocoder.-$$Lambda$GoogleGeocoderDataSource$-p8szkE9nA6zDcul74gYmq4bLsY.subscribe(Unknown Source:4) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:41) 
        at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13176) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableOnErrorNext$OnErrorNextObserver.onError(ObservableOnErrorNext.java:96) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableRetryPredicate$RepeatObserver.onError(ObservableRetryPredicate.java:79) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onError(ObservableSubscribeOn.java:63) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:85) 
        at com.adevinta.leku.geocoder.AndroidGeocoderDataSource.getFromLocationName$lambda-0(AndroidGeocoderDataSource.kt:19) 
        at com.adevinta.leku.geocoder.AndroidGeocoderDataSource.lambda$EE87VfWK7CBZfu5B8Lx_S9ZwswY(Unknown Source:0) 
        at com.adevinta.leku.geocoder.-$$Lambda$AndroidGeocoderDataSource$EE87VfWK7CBZfu5B8Lx_S9ZwswY.subscribe(Unknown Source:4) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:41) 
        at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13176) 
        at io.reactivex.rxjava3.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96) 
        at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644) 
        at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65) 
        at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:923) 

Screen Shot 2022-02-07 at 15 01 48

fukemy commented 2 years ago

still got same crash in v9.1.2

steve47457 commented 2 years ago

also getting this error. any solutions?

fukemy commented 2 years ago

also getting this error. any solutions?

i removed this line

 .withSatelliteViewHidden()

then crash gone

steve47457 commented 2 years ago

.withSatelliteViewHidden() is removed but I still get the error.

fukemy commented 2 years ago

.withSatelliteViewHidden() is removed but I still get the error.

Sorry bro i got crash in other device too, so i think better find other lib, if u found better lib please share with me, thank

ferranpons commented 2 years ago

@fukemy @steve47457 this issue should be solved on the new version 9.1.3 we have just released. Sorry for the inconvenience.

fukemy commented 2 years ago

thanks, not too late, let me try

steve47457 commented 2 years ago

I still get the 2 errors that always occur and I believe they can easily be fixed. @ferranpons

steve47457 commented 2 years ago

Error 1 (Event type ANR): @ferranpons

main (waiting): tid=1 systid=22477
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
       at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:387)
       at com.google.maps.internal.OkHttpPendingResult.await(OkHttpPendingResult.java)
       at com.adevinta.leku.geocoder.timezone.GoogleTimeZoneDataSource.getTimeZone(GoogleTimeZoneDataSource.java)
       at com.adevinta.leku.geocoder.GeocoderPresenter.returnTimeZone(GeocoderPresenter.java)
       at com.adevinta.leku.geocoder.GeocoderPresenter.getInfoFromLocation$lambda-18(GeocoderPresenter.java)
       at com.adevinta.leku.geocoder.GeocoderPresenter.$r8$lambda$1LPQuC9JhTvH0Af6K5P9wwLq_Yw(GeocoderPresenter.java)
       at com.adevinta.leku.geocoder.GeocoderPresenter$$InternalSyntheticLambda$1$2726b4a0010c7a0503327eb77e244f5efee13131e58dd98511fe97a36f6fa9ce$2.apply(GeocoderPresenter.java)
       at io.reactivex.rxjava3.internal.operators.maybe.MaybeFlatten$FlatMapMaybeObserver.onSuccess(MaybeFlatten.java)
       at io.reactivex.rxjava3.internal.operators.maybe.MaybeMap$MapMaybeObserver.onSuccess(MaybeMap.java)
       at io.reactivex.rxjava3.internal.operators.maybe.MaybeFilterSingle$FilterMaybeObserver.onSuccess(MaybeFilterSingle.java)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableSingleSingle$SingleElementSubscriber.onComplete(FlowableSingleSingle.java)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableRetryPredicate$RetrySubscriber.onComplete(FlowableRetryPredicate.java)
       at io.reactivex.rxjava3.internal.subscriptions.DeferredScalarSubscription.complete(DeferredScalarSubscription.java)
       at io.reactivex.rxjava3.internal.operators.single.SingleToFlowable$SingleToFlowableObserver.onSuccess(SingleToFlowable.java)
       at io.reactivex.rxjava3.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java)
       at io.reactivex.rxjava3.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:246)
       at android.app.ActivityThread.main(ActivityThread.java:8506)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
steve47457 commented 2 years ago

Error 2 (Event type Crash): @ferranpons

Fatal Exception: b5.e: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.io.IOException: grpc failed
       at io.reactivex.rxjava3.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:19)
       at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:49)
       at io.reactivex.rxjava3.core.Single.subscribe(Single.java:14)
       at io.reactivex.rxjava3.internal.operators.single.SingleToFlowable.subscribeActual(SingleToFlowable.java:7)
       at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:14)
       at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:6)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableRetryPredicate$RetrySubscriber.subscribeNext(FlowableRetryPredicate.java:33)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableRetryPredicate.subscribeActual(FlowableRetryPredicate.java:22)
       at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:14)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableSingleSingle.subscribeActual(FlowableSingleSingle.java:9)
       at io.reactivex.rxjava3.core.Single.subscribe(Single.java:14)
       at io.reactivex.rxjava3.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:9)
       at io.reactivex.rxjava3.core.Single.subscribe(Single.java:14)
       at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:2)
       at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:9)
       at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:13)
       at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:764)
   --
Caused by java.io.IOException: grpc failed
       at android.location.Geocoder.getFromLocation(Geocoder.java:136)
       at com.adevinta.leku.geocoder.AndroidGeocoderDataSource.getFromLocation$lambda-2(AndroidGeocoderDataSource.java:10)
       at com.adevinta.leku.geocoder.AndroidGeocoderDataSource.$r8$lambda$HojMsADA4eEesXlzlsEapFssVOU(AndroidGeocoderDataSource.java)
       at com.adevinta.leku.geocoder.AndroidGeocoderDataSource$$InternalSyntheticLambda$2$3bff7d51e4e809dc309864694a0c3601036f3f908be6956c0d332efa30a9e68e$0.call(AndroidGeocoderDataSource.java:6)
       at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:16)
       at io.reactivex.rxjava3.core.Single.subscribe(Single.java:14)
       at io.reactivex.rxjava3.internal.operators.single.SingleToFlowable.subscribeActual(SingleToFlowable.java:7)
       at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:14)
       at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:6)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableRetryPredicate$RetrySubscriber.subscribeNext(FlowableRetryPredicate.java:33)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableRetryPredicate.subscribeActual(FlowableRetryPredicate.java:22)
       at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:14)
       at io.reactivex.rxjava3.internal.operators.flowable.FlowableSingleSingle.subscribeActual(FlowableSingleSingle.java:9)
       at io.reactivex.rxjava3.core.Single.subscribe(Single.java:14)
       at io.reactivex.rxjava3.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:9)
       at io.reactivex.rxjava3.core.Single.subscribe(Single.java:14)
       at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:2)
       at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:9)
       at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:13)
       at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:764)
steve47457 commented 2 years ago

@ferranpons For Error 1, I believe the fix is to implement this exact code: https://github.com/pasmat/Leku/pull/1/commits/c44886add104f2b9a9c93d44c9cc808ff208b566

fukemy commented 2 years ago

Hi, I dony know why this problem can not solved after many version?

Vào ngày 15 thg 3, 2022, lúc 02:05, steve47457 @.***> đã viết:

 @ferranpons For Error 1, I believe the fix is to implement this exact code: @.***

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

ferranpons commented 2 years ago

@steve47457 @fukemy we have published a new patch version 9.1.4. Hope it finally solves the issues.

ferranpons commented 1 year ago

I assume it's working now.