mapbox / mapbox/mapbox-navigation-android
[Android Auto] Fatal Exception: java.lang.Error: latitude must not be NaN
Nessuno ha ancora preso questa issue.
- Lingua principale
- Kotlin
- Stelle
- 651
- Fork
- 321
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Android API:
Mapbox Navigation SDK version:
0.22.0
Steps to trigger behavior
N/A
Expected behavior
No crash
Actual behavior
The following exception is reported a few times in our analytics. Not sure what is provoking this.
Fatal Exception: java.lang.Error: latitude must not be NaN
at com.mapbox.maps.Projection.unproject(SourceFile)
at com.mapbox.maps.MapboxMap.unproject(MapboxMap.java:5)
at com.mapbox.maps.plugin.animation.CameraAnimatorsFactory.getFlyTo$lambda-9(CameraAnimatorsFactory.java:95)
at android.animation.KeyframeSet.getValue(KeyframeSet.java:202)
at android.animation.PropertyValuesHolder.calculateValue(PropertyValuesHolder.java:1017)
at android.animation.ValueAnimator.animateValue(ValueAnimator.java:1698)
at android.animation.ValueAnimator.animateValuesInRange(ValueAnimator.java:1512)
at android.animation.AnimatorSet.animateValuesInRange(AnimatorSet.java:1025)
at android.animation.AnimatorSet.animateBasedOnPlayTime(AnimatorSet.java:883)
at android.animation.AnimatorSet.initChildren(AnimatorSet.java:1164)
at android.animation.AnimatorSet.startAnimation(AnimatorSet.java:1384)
at android.animation.AnimatorSet.start(AnimatorSet.java:741)
at android.animation.AnimatorSet.start(AnimatorSet.java:696)
at com.mapbox.navigation.ui.maps.camera.NavigationCamera.startAnimation(NavigationCamera.java:72)
at com.mapbox.navigation.ui.maps.camera.NavigationCamera.requestNavigationCameraToFollowing(NavigationCamera.java:66)
at com.mapbox.navigation.ui.maps.camera.NavigationCamera.requestNavigationCameraToFollowing$default(NavigationCamera.java:17)
at com.mapbox.androidauto.navigation.CarNavigationCamera$locationObserver$1.onNewLocationMatcherResult(CarNavigationCamera.java:136)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.registerLocationObserver(MapboxTripSession.java:25)
at com.mapbox.navigation.core.MapboxNavigation.registerLocationObserver(MapboxNavigation.java:7)
at com.mapbox.androidauto.navigation.CarNavigationCamera$navigationObserver$1.onAttached(CarNavigationCamera.java:11)
at com.mapbox.navigation.core.lifecycle.MapboxNavigationOwner.register(MapboxNavigationOwner.java:18)
at com.mapbox.navigation.core.lifecycle.MapboxNavigationAppDelegate.registerObserver(MapboxNavigationAppDelegate.java:9)
at com.mapbox.navigation.core.lifecycle.MapboxNavigationApp.registerObserver(MapboxNavigationApp.java:11)
at com.mapbox.androidauto.navigation.CarNavigationCamera.onAttached(CarNavigationCamera.java:116)
at com.mapbox.maps.extension.androidauto.CarMapSurfaceOwner.onSurfaceAvailable(CarMapSurfaceOwner.java:128)
at androidx.car.app.utils.RemoteUtils$SurfaceCallbackStub.lambda$onSurfaceAvailable$0(RemoteUtils.java:8)
at androidx.car.app.utils.RemoteUtils.lambda$dispatchCallFromHost$0(RemoteUtils.java)
at androidx.car.app.utils.ThreadUtils.runOnMain(ThreadUtils.java:10)
at androidx.car.app.utils.RemoteUtils.dispatchCallFromHost(RemoteUtils.java:5)
at androidx.car.app.utils.RemoteUtils.lambda$dispatchCallFromHost$1(RemoteUtils.java:15)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8180)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946)
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia leggendo CarNavigationCamera.kt, in particolare i percorsi di locationObserver e navigationObserver mostrati nello stack trace, quindi segui la richiesta fino a NavigationCamera e CameraAnimatorsFactory. Indaga su come una posizione non valida raggiunge MapboxMap.unproject durante la configurazione della superficie di Android Auto. Il lavoro è completato quando il crash segnalato relativo a una latitudine NaN non si verifica più, con un test di regressione se viene trovato il punto di ingresso del test pertinente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, kotlin
- Ambito
- mobile-dev
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100