Repository navigation
[Bug]: Fatal Exception: android.app.ForegroundServiceDidNotStartInTimeException #526
Description
Is there an existing issue for this?
- I have searched the existing issues
Description of the bug
We get those crashes time to time:
Fatal Exception: android.app.ForegroundServiceDidNotStartInTimeException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{808d146 u0 com.apolloscooters/com.google.android.libraries.geo.navcore.service.base.NavigationService}
at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:2078)
at android.app.ActivityThread.access$2800(ActivityThread.java:259)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2303)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8249)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
also:
Fatal Exception: android.app.RemoteServiceException$ForegroundServiceDidNotStartInTimeException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{883ead4 u0 com.apolloscooters/com.google.android.libraries.geo.navcore.service.base.NavigationService c:com.apolloscooters}
at android.app.ActivityThread.generateForegroundServiceDidNotStartInTimeException(ActivityThread.java:2675)
at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:2643)
at android.app.ActivityThread.-$$Nest$mthrowRemoteServiceException()
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3068)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:273)
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)
React Native version
0.81.5
React version
19.1.0
Package version
0.12.1
Native SDK versions
- I haven't changed the version of the native SDKs
React Native Doctor Output
✓ Node.js - Required to execute JavaScript code
✓ yarn - Required to install NPM dependencies
✓ Watchman - Used for watching changes in the filesystem when in development mode
✓ Metro - Required for bundling the JavaScript code
Android
✓ Adb - Required to verify if the android device is attached correctly
✓ JDK - Required to compile Java code
✓ Android Studio - Required for building and installing your app on Android
✓ ANDROID_HOME - Environment variable that points to your Android SDK installation
✓ Gradlew - Build tool required for Android builds
✖ Android SDK - Required for building and installing your app on Android
- Versions found: N/A
- Version supported: 36.0.0
iOS
✓ Xcode - Required for building and installing your app on iOS
✓ Ruby - Required for installing iOS dependencies
✓ CocoaPods - Required for installing iOS dependencies
✓ .xcode.env - File to customize Xcode environment
Errors: 1
Warnings: 0
Steps to reproduce
I didn't manage to reproduce yet, but it might be related to the fact that we cleanup the navigation controller when the app goes in background.
Expected vs Actual Behavior
No crash...
Code Sample
// Example code hereAdditional Context
No response
Activity
illuminati1911 commentedon Mar 17, 2026
Hey @christian-apollo and thank you for opening the ticket (sorry for the delay in responding).
Could you please try with the latest version of the SDK? We have made significant changes to the architecture and other things between the current version 0.14.2 and the version you experienced the issue with. 0.12.1.
christian-apollo commentedon Mar 19, 2026
Hey @illuminati1911 I updated to 0.14.2 and it is still happening:
It happens a few seconds (or less) after the app is moved to the background, around 1% of the time.
When the app goes in the background, we cleanup the navigation controller (to stop using the GPS, is there an alternative?), So I assume that there's a concurrency issue. It is probably also related to the Android Map SDK, I will report it upstream.
christian-apollo commentedon Mar 21, 2026
I'm seeing a crash that occurred 30 seconds after the cleanup finished, so maybe something wasn't fully cleaned up.
christian-apollo commentedon Apr 3, 2026
I confirm that by calling stopUpdatingLocation() instead of cleanup, it fixes the crash.
illuminati1911 commentedon May 26, 2026
Hey @christian-apollo.
As you can see here we have merged a fix that might help with this. Could you try on a latest SDK version if you still run into this issue?
christian-apollo commentedon Jun 6, 2026
It is hard to tell if is related to the cleanup but this crash is still happening for us. It was still happening (but les often) when we stopped calling cleanup. Now i put back the cleanup, I will see if it is happening more, but it is still happening: