French app "TCL" crashes when using geolocation since v1.12

(initially reported as feedback on v1.12: Feedback for v1.12.3 - #126 by mossroy)

French transportation app “TCL” (installed through AppLounge) crashes since the upgrade of /e/ OS to v1.12

Symptom: the app crashes with following adb logcat excerpt, when it tries to find my location:

07-03 18:27:26.674  1665  1665 D AndroidRuntime: Shutting down VM
07-03 18:27:26.674  1665  1665 E AndroidRuntime: FATAL EXCEPTION: main
07-03 18:27:26.674  1665  1665 E AndroidRuntime: Process: com.micropole.android.tcl_mobile, PID: 1665
07-03 18:27:26.674  1665  1665 E AndroidRuntime: java.lang.NullPointerException: Listener must not be null
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.0.0:2)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.common.api.internal.ListenerHolders.createListenerKey(com.google.android.gms:play-services-base@@18.0.1:1)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.location.FusedLocationProviderClient.removeLocationUpdates(Unknown Source:6)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.airbnb.android.react.maps.FusedLocationSource.deactivate(FusedLocationSource.java:70)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.maps.zzs.deactivate(com.google.android.gms:play-services-maps@@17.0.1:1)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.maps.internal.zzj.zza(com.google.android.gms:play-services-maps@@17.0.1:1)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.internal.maps.zzb.onTransact(com.google.android.gms:play-services-maps@@17.0.1:3)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.os.Binder.transact(Binder.java:1064)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.maps.internal.ILocationSourceDelegate$Stub$Proxy.deactivate(ILocationSourceDelegate.java:121)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at org.microg.gms.maps.mapbox.SourceLocationEngine.removeLocationUpdates(SourceLocationEngine.kt:41)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at org.microg.gms.maps.mapbox.GoogleMapImpl.updateLocationEngineListener(GoogleMap.kt:423)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at org.microg.gms.maps.mapbox.GoogleMapImpl.setLocationSource(GoogleMap.kt:436)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.maps.internal.IGoogleMapDelegate$Stub.onTransact(IGoogleMapDelegate.java:474)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at org.microg.gms.maps.mapbox.GoogleMapImpl.onTransact(GoogleMap.kt:876)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.os.Binder.transact(Binder.java:1064)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.internal.maps.zza.zzc(com.google.android.gms:play-services-maps@@17.0.1:2)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.maps.internal.zzg.setLocationSource(com.google.android.gms:play-services-maps@@17.0.1:3)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.google.android.gms.maps.GoogleMap.setLocationSource(com.google.android.gms:play-services-maps@@17.0.1:2)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.airbnb.android.react.maps.AirMapView$15.onHostResume(AirMapView.java:400)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.facebook.react.bridge.ReactContext$1.run(ReactContext.java:224)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:938)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7870)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
07-03 18:27:26.674  1665  1665 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

I reproduce the same issue after removing the app data. I have it on 2 different devices: a Fairphone 3 (FP3) and a Samsung S5 (SM-G900F)

It might be a bug of the app itself, but the fact that it affects geolocation (and that it was working well with /e/ OS v1.11) makes me suspect a regression due to microG upgrade, with its geolocation refactoring.

Workaround: remove app data, and do not use geolocation

Should I open a gitlab ticket? In which gitlab project?

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

I’ve opened a ticket here: https://github.com/microg/GmsCore/issues/1982

According to the MicroG ticket, this bug should be fixed in their code, and the fix should be included in upcoming MicroG 0.2.29 (not released, yet)

Seems to be fixed with /e/os 1.13

This topic was automatically closed after 90 days. New replies are no longer allowed.