Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Crash with DeadSystemException due to notification update on Android

Open
#7,948 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Quiet
Tech stack
android, kotlin
Domain
mobile

Research direction

Start with MapboxTripNotification.kt:165 and MapboxTripService.kt:153, following the notification update triggered by MapboxTripSession.kt:715-725. Reproduce or investigate the Android 16 DeadSystemException path and determine how notification updates should behave when the system notification service is unavailable; done means the crash is prevented and normal updates remain intact.

Written by the indexing model from the issue text.

Description

  • 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.

Dominant language
Kotlin
Stars
652
Forks
321
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mapbox/mapbox-navigation-android

All issues in mapbox/mapbox-navigation-android

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.