-
Notifications
You must be signed in to change notification settings - Fork 48
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
Crash in location engine callback #429
Comments
Hey @ben-j69, what are the actual values that the Google location engine returns? We're not hitting this issue in our instrumentation tests on device farms and I would suspect the emulator providing incorrect data. Generally, if you want to test the @alfwatt is it expected that the |
@LukasPaczos I did not found anyway to check this values since I can not override this location engine implementation and it only occur on CI environment. I am writing a fix like "if ci does not use location" but the sdk should not crash at this point. |
Per docs, |
Thanks @LukasPaczos, I'll ask @harvsu to have a look |
@alfwatt @LukasPaczos GoogleLocationEngineImpl in Events repo (Telemtry SDK) does not alter any location information delivered by GMS (google play service )'s Location Engine and is sent as is to downstream SDK. Primary investigation into this issue confirms that the invalid latitude is coming from somewhere upstream, either the GMS or emulator itself. |
@ben-j69 Sorry for the delay! It seems to be some unknown issue with the emulator that you are using. We have not seen this occur in any of our tests. We need more information to get to the bottom of this. If you can get back to us with the following details, we will be able to debug this issue better.
|
Hello, just wanted to say that we're hitting this 'in the field' with real users. Please let me know if it's better to log a separate issue (as know the OP mentioned emulators), but the error we're hitting is the same. Trying to debug, I've added logging for lat/lng/alt values to our crash reporter and are seeing values like this:
i.e. when we hit this issue it seems like a valid Longitude is getting duplicated in the Latitude field — here it's just 4 decimals of precision, but have also seen it with 7 decimal places of precision. Don't have much historic data, but I can see that it's happened for two of our users in the last couple of days — interestingly both on OnePlus devices running 7.1.1. Obviously that's a very small sample size. I'll try to keep a close eye on it & loop back with details now I've found this ticket, if that's useful? Please let me know any other info I can try and gather on this too. Thanks |
Seeing this still. Also with different device — Samsung Galaxy A90 5G (SM-A908N) but interestingly still running Android Nougat (this time 7.1.2). I'm not sure what type of info you're tracking via the Telemetry of the SDK. If I could give you more info above the device/event that could help you track it down, please let me know. Unfortunately I can't reproduce this on a test device, but still happening to end-users 'in the wild'. Thanks |
Hello we are currently encountering an issue with the google location engine implemented in the SDK on Circle CI. I did not find anyway to customize the callback !
Steps to reproduce
Expected behavior
Should display the user position
Actual behavior
Crash the app :
java.lang.IllegalArgumentException: latitude must be between -90 and 90 at com.mapbox.mapboxsdk.geometry.LatLng.setLatitude(LatLng.java:132) at com.mapbox.mapboxsdk.geometry.LatLng.<init>(LatLng.java:79) at com.mapbox.mapboxsdk.geometry.LatLng.<init>(LatLng.java:90) at com.mapbox.mapboxsdk.location.LocationAnimatorCoordinator.getPreviousLayerLatLng(LocationAnimatorCoordinator.java:171) at com.mapbox.mapboxsdk.location.LocationAnimatorCoordinator.feedNewLocation(LocationAnimatorCoordinator.java:82) at com.mapbox.mapboxsdk.location.LocationComponent.updateLocation(LocationComponent.java:1363) at com.mapbox.mapboxsdk.location.LocationComponent.access$1000(LocationComponent.java:97) at com.mapbox.mapboxsdk.location.LocationComponent$CurrentLocationEngineCallback.onSuccess(LocationComponent.java:1522) at com.mapbox.mapboxsdk.location.LocationComponent$CurrentLocationEngineCallback.onSuccess(LocationComponent.java:1510) at com.mapbox.android.core.location.GoogleLocationEngineImpl$GoogleLocationEngineCallbackTransport.onLocationResult(GoogleLocationEngineImpl.java:114) at com.google.android.gms.internal.location.zzau.notifyListener(Unknown Source:4) at com.google.android.gms.common.api.internal.ListenerHolder.notifyListenerInternal(Unknown Source:17) at com.google.android.gms.common.api.internal.ListenerHolder$zaa.handleMessage(Unknown Source:5) at android.os.Handler.dispatchMessage(Handler.java:105) at com.google.android.gms.internal.base.zap.dispatchMessage(Unknown Source:8) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Configuration
Android versions: 26
Device models: CircleCI Emulator
Mapbox SDK versions:
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:8.4.0'
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-services:4.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.41.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.41.0'
The text was updated successfully, but these errors were encountered: