'Fatal Exception: java.lang.IllegalStateException no event down from INITIALIZED
Not sure what I changed in the application but I'm getting this untraceable stack trace all of a sudden after a release (I updated a few dependencies but not sure which is causing it cause I cannot replicate.
atal Exception: java.lang.IllegalStateException: no event down from INITIALIZED
at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:281)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:302)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
at androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent(FragmentViewLifecycleOwner.java:62)
at androidx.fragment.app.Fragment.performDestroyView(Fragment.java:3130)
at androidx.fragment.app.FragmentStateManager.destroyFragmentView(FragmentStateManager.java:706)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1407)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1477)
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1555)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1608)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3046)
at androidx.fragment.app.FragmentManager.dispatchDestroyView(FragmentManager.java:3018)
at androidx.fragment.app.Fragment.performDestroyView(Fragment.java:3128)
at androidx.fragment.app.FragmentStateManager.destroyFragmentView(FragmentStateManager.java:706)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1407)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1477)
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1555)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1617)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2150)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2061)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1957)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3056)
at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2983)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2923)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:562)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1324)
at androidx.fragment.app.FragmentManager.addAddedFragments(FragmentManager.java:2392)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2137)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2061)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1957)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3056)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2990)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:458)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:210)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1392)
at android.app.Activity.performStart(Activity.java:7338)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3172)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:186)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:171)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:148)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:76)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1988)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:232)
at android.app.ActivityThread.main(ActivityThread.java:7240)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:883)
Solution 1:[1]
The issue's fix is now stable in androidx.fragment:fragment-ktx:1.3.0.
Solution 2:[2]
Solution 3:[3]
Had this error when navController.navigate inside onCreate so i moved the code that checks the intent to onResume - problem solved
Solution 4:[4]
If this is happening in compose tests you need to call navHostController.navigate(...)
from inside a Composable, i.e. inside
composeRule.setContent {
navHostController.navigate(...)
}
Solution 5:[5]
This crash is happening because the ids between the navigation and the start destination are the same. Your navigation and destinations should have unique ids.
For example:
This is crash:
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main"
app:startDestination="@id/main">
This is correct:
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main"
app:startDestination="@id/main_fragment">
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Westy92 |
| Solution 2 | |
| Solution 3 | ueen |
| Solution 4 | David A |
| Solution 5 | serhii.hulenko |
