mapbox / mapbox/mapbox-navigation-android
Crash with DeadSystemException due to notification update on Android
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Kotlin
- Sterne
- 651
- Forks
- 321
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
- Navigation SDK version: 2.21.0
- Android version: 16
Hi,
We are getting frequent crashes with the following stack trace, without clear pattern:
android.os.DeadSystemException: null
at android.app.NotificationManager.notifyAsUser(NotificationManager.java:991)
at android.app.NotificationManager.notify(NotificationManager.java:850)
at android.app.NotificationManager.notify(NotificationManager.java:826)
at com.mapbox.navigation.trip.notification.internal.MapboxTripNotification.updateNotification(MapboxTripNotification.kt:165)
at com.mapbox.navigation.core.trip.service.MapboxTripService.updateNotification(MapboxTripService.kt:153)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.updateRouteProgress(MapboxTripSession.kt:725)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.processNativeStatus(MapboxTripSession.kt:715)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.access$processNativeStatus(MapboxTripSession.kt:62)
at com.mapbox.navigation.core.trip.session.MapboxTripSession$navigatorObserver$1.onStatus(MapboxTripSession.kt:355)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.nextLegacy(MessageQueue.java:950)
at android.os.MessageQueue.next(MessageQueue.java:1062)
at android.os.Looper.loopOnce(Looper.java:221)
at android.os.Looper.loop(Looper.java:363)
at android.app.ActivityThread.main(ActivityThread.java:10060)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
android.os.DeadSystemRuntimeException: android.os.DeadSystemException
at android.app.NotificationManager.notifyAsUser(NotificationManager.java:991)
at android.app.NotificationManager.notify(NotificationManager.java:850)
at android.app.NotificationManager.notify(NotificationManager.java:826)
at com.mapbox.navigation.trip.notification.internal.MapboxTripNotification.updateNotification(MapboxTripNotification.kt:165)
at com.mapbox.navigation.core.trip.service.MapboxTripService.updateNotification(MapboxTripService.kt:153)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.updateRouteProgress(MapboxTripSession.kt:725)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.processNativeStatus(MapboxTripSession.kt:715)
at com.mapbox.navigation.core.trip.session.MapboxTripSession.access$processNativeStatus(MapboxTripSession.kt:62)
at com.mapbox.navigation.core.trip.session.MapboxTripSession$navigatorObserver$1.onStatus(MapboxTripSession.kt:355)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.nextLegacy(MessageQueue.java:950)
at android.os.MessageQueue.next(MessageQueue.java:1062)
at android.os.Looper.loopOnce(Looper.java:221)
at android.os.Looper.loop(Looper.java:363)
at android.app.ActivityThread.main(ActivityThread.java:10060)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
com.mapbox.navigation.core.trip.session.NativeStatusProcessingError: Error processing native status update
at com.mapbox.navigation.core.trip.session.MapboxTripSession$navigatorObserver$1.onStatus(MapboxTripSession.kt:363)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.nextLegacy(MessageQueue.java:950)
at android.os.MessageQueue.next(MessageQueue.java:1062)
at android.os.Looper.loopOnce(Looper.java:221)
at android.os.Looper.loop(Looper.java:363)
at android.app.ActivityThread.main(ActivityThread.java:10060)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
java.lang.reflect.InvocationTargetException: null
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:642)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Thread: main
at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
at java.lang.Thread.getStackTrace(Thread.java:2843)
at java.lang.Thread.getAllStackTraces(Thread.java:2910)
at org.chromium.base.JavaExceptionReporter.uncaughtException(chromium-TrichromeWebViewGoogle6432.aab-stable-744410233:31)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1098)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1093)
at java.lang.Thread.dispatchUncaughtException(Thread.java:3378)
We are using the Fused location provider from Google, if that matters.
I appreciate there are newer versions of the library, so if this was fixed in a new version please point me to its release and I will update the dependency.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit MapboxTripNotification.kt:165 und MapboxTripService.kt:153 und verfolge die von MapboxTripSession.kt:715-725 ausgelöste Aktualisierung der Benachrichtigung. Reproduziere oder untersuche den Android-16-DeadSystemException-Pfad und bestimme, wie sich Benachrichtigungsaktualisierungen verhalten sollen, wenn der Systembenachrichtigungsdienst nicht verfügbar ist; die Aufgabe ist abgeschlossen, wenn der Absturz verhindert wird und normale Aktualisierungen weiterhin funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, kotlin
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 45/100