ground-android
ground-android copied to clipboard
[Draw/walk perimeter] Crash on config change after fresh login
Crash after config change on "draw/walk perimeter" screen after fresh login:
10:58:25.514 AndroidRuntime E FATAL EXCEPTION: main
Process: com.google.android.ground, PID: 30446
java.lang.IllegalArgumentException: Navigation action/destination com.google.android.ground:id/showTermsOfService cannot be found from the current destination Destination(com.google.android.ground:id/data_collection_fragment) label=Collect data class=com.google.android.ground.ui.datacollection.DataCollectionFragment
at androidx.navigation.NavController.navigate(NavController.kt:1691)
at androidx.navigation.NavController.navigate(NavController.kt:1609)
at androidx.navigation.NavController.navigate(NavController.kt:2169)
at com.google.android.ground.MainActivity.onNavigate(MainActivity.kt:157)
at com.google.android.ground.MainActivity.access$onNavigate(MainActivity.kt:56)
at com.google.android.ground.MainActivity$onCreate$2$1.emit(MainActivity.kt:82)
at com.google.android.ground.MainActivity$onCreate$2$1.emit(MainActivity.kt:82)
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382)
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:235)
at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:191)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:163)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at kotlinx.coroutines.flow.SharedFlowImpl.tryEmit(SharedFlow.kt:399)
at kotlinx.coroutines.flow.SharedFlowImpl.emit$suspendImpl(SharedFlow.kt:404)
at kotlinx.coroutines.flow.SharedFlowImpl.emit(Unknown Source:0)
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382)
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@fa81a7d, Dispatchers.Main.immediate]
@gino-m Looks like this is not happening now in the latest master branch.
Still happens with other destinations in prod 0.1.10, 20 crashes in last 7 days:
Fatal Exception: java.lang.IllegalArgumentException: Navigation action/destination org.openforis.ground:id/show_sync_status cannot be found from the current destination Destination(org.openforis.ground:id/sync_status_fragment) label=Data sync status class=com.google.android.ground.ui.syncstatus.SyncStatusFragment
at androidx.navigation.NavController.navigate(NavController.kt:1691)
at androidx.navigation.NavController.navigate(NavController.kt:1609)
at androidx.navigation.NavController.navigate(NavController.kt:2169)
at com.google.android.ground.MainActivity.onNavigate(MainActivity.kt:157)
at com.google.android.ground.MainActivity.access$onNavigate(MainActivity.kt:56)
at com.google.android.ground.MainActivity$onCreate$2$1.emit(MainActivity.kt:82)
at com.google.android.ground.MainActivity$onCreate$2$1.emit(MainActivity.kt:82)
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382)
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:235)
at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:191)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:163)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
at kotlinx.coroutines.flow.SharedFlowImpl.tryEmit(SharedFlow.kt:399)
at kotlinx.coroutines.flow.SharedFlowImpl.emit$suspendImpl(SharedFlow.kt:404)
at kotlinx.coroutines.flow.SharedFlowImpl.emit()
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382)
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8653)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Note that this particular exception occurred across 3 different surveys, from screen HomeScreenMapContainerFragment .
Closing as likely duplicate of https://github.com/google/ground-android/issues/2776