Status Update
Comments
il...@google.com <il...@google.com> #2
ke...@gmail.com <ke...@gmail.com> #3
since it is already marked as deprecated, we can probably do it by now.
il...@google.com <il...@google.com> #4
sv...@gmail.com <sv...@gmail.com> #5
Branch: androidx-master-dev
commit d576cbdc911cba16638a44fd8223391a90a07ef7
Author: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
Date: Tue Aug 11 09:30:34 2020
[GH] Hide deprecated internal API.
## Proposed Changes
* `RoomDatabase.java` has protected `mCallbacks` field which is leaking in the API docs, we should @Hide it.
## Testing
Test: Ran unit tests locally
## Issues Fixed
Fixes: 76109329
This is an imported pull request from
Resolves #61
Github-Pr-Head-Sha: 6440daa3a63752c7f9d5ba2a390248cd85bc634f
GitOrigin-RevId: fe92d8466a59b44b218b6ca3cbd57dcda17992f7
Change-Id: Id599cdf5b02b32bdae0166266fb7da967598fe92
A room/runtime/api/current.ignore
M room/runtime/api/current.txt
M room/runtime/api/public_plus_experimental_current.txt
M room/runtime/api/restricted_current.txt
M room/runtime/src/main/java/androidx/room/RoomDatabase.java
f....@gmail.com <f....@gmail.com> #7
I can reproduce this bug with the Emulator and my physical devices. Just click very quickly between two items in the bottom nav bar until the app crashes.
f....@gmail.com <f....@gmail.com> #8
Just update the dependency to androidx.navigation:navigation-compose:2.5.0-rc01 and do the same procedure I described in my previous comment.
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 95d95a4c54474fc973eebd775ff953f1a2f54c4a
Author: Jeremy Woods <jbwoods@google.com>
Date: Wed Jun 08 14:06:02 2022
Fix crash in NavHost when fast switching between destinations
There is a currently an error when combining Crossfade with
visibleEntries and fast switching between bottom nav items, where when
going from item 1, to item 2, and back to item 1` before the transition
completes.
Crossfade currently disposes whenever the lastEntry changes, in this
case the old item 1 is not equal to the new item 1` and this causes the
visibleEntries which included item 2 to be disposed when the old item 1
to item 2 transition completes, but the item 2 to item 1` transition is
still going and when that attempts to retrieve item 2, it fails cause it
has already been marked as complete.
We need to make it so that visibleEntries are only marked as complete
when crossfade is being disposed.
RelNote: "Fixed a crash caused by fast switching between bottom
destinations when using the Navigation Compose `NavHost`."
Test: tested in sample app
Bug: 234054916
Change-Id: I3979acdda0b6715fcf96bb1948ad6f5e6ba87388
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
jb...@google.com <jb...@google.com> #10
This has been fixed internally and will be in the Navigation 2.5.0-rc02
release.
am...@gmail.com <am...@gmail.com> #11
I'm having Navigation 2.5.0-rc02
and still sometimes getting NoSuchElementException
crash.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.linenapp.android.debug, PID: 9122
java.util.NoSuchElementException: List contains no element matching the predicate.
at com.google.accompanist.navigation.animation.AnimatedNavHostKt$AnimatedNavHost$9.invoke(AnimatedNavHost.kt:249)
at com.google.accompanist.navigation.animation.AnimatedNavHostKt$AnimatedNavHost$9.invoke(AnimatedNavHost.kt:201)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$5$1$4.invoke(AnimatedContent.kt:658)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$5$1$4.invoke(AnimatedContent.kt:648)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.AnimatedVisibilityKt.AnimatedEnterExitImpl(AnimatedVisibility.kt:939)
at androidx.compose.animation.AnimatedVisibilityKt.AnimatedVisibility(AnimatedVisibility.kt:607)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$5$1.invoke(AnimatedContent.kt:638)
at androidx.compose.animation.AnimatedContentKt$AnimatedContent$5$1.invoke(AnimatedContent.kt:625)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.AnimatedContentKt.AnimatedContent(AnimatedContent.kt:671)
at com.google.accompanist.navigation.animation.AnimatedNavHostKt.AnimatedNavHost(AnimatedNavHost.kt:196)
at com.google.accompanist.navigation.animation.AnimatedNavHostKt$AnimatedNavHost$11.invoke(Unknown Source:23)
at com.google.accompanist.navigation.animation.AnimatedNavHostKt$AnimatedNavHost$11.invoke(Unknown Source:10)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:142)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2351)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2618)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3205)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3183)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:252)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3183)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3148)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:739)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:876)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:107)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:485)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1056)
at android.view.Choreographer.doCallbacks(Choreographer.java:880)
at android.view.Choreographer.doFrame(Choreographer.java:809)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1043)
at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:7889)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@e75298d, androidx.compose.ui.platform.MotionDurationScaleImpl@a99d742, StandaloneCoroutine{Cancelling}@222f353, AndroidUiDispatcher@4371490]
Seems, it maybe related to the cases when startDestination
parameter of the AnimatedNavHost
is dynamically changed in runtime and navController is also targeted to another destination (same as startDestination
).
po...@gmail.com <po...@gmail.com> #12
This is still an issue with the AnimatedNavHost. It might have been fixed in NavHost, but not there. Could you please reopen it?
ja...@gmail.com <ja...@gmail.com> #13
I'm on 2.5.0 and still having the same issue. Here's a stacktrace from this morning.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHostKt.java:5)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambdaImpl.java:48)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambdaImpl.java:8)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(CrossfadeKt.java:22)
at androidx.compose.runtime.internal.ComposableLambdaImpl.P(ComposableLambdaImpl.java:56)
at androidx.compose.animation.CrossfadeKt.Crossfade(CrossfadeKt.java:20)
at androidx.compose.animation.CrossfadeKt.Crossfade(CrossfadeKt.java:176)
at androidx.navigation.compose.NavHostKt.NavHost(NavHostKt.java:126)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(NavHostKt.java:1)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.java:23)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(ComposerImpl.java:23)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(ComposerImpl.java:15)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(ComposerImpl.java:15)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(ComposerImpl.java:15)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(SnapshotStateKt__DerivedStateKt.java:4)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(SnapshotStateKt.java:4)
at androidx.compose.runtime.ComposerImpl.doCompose(ComposerImpl.java:12)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(ComposerImpl.java:2)
at androidx.compose.runtime.CompositionImpl.recompose(CompositionImpl.java:2)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.java:5)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.java:29)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.java:8)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.java:3)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.java:3)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1008)
at android.view.Choreographer.doCallbacks(Choreographer.java:809)
at android.view.Choreographer.doFrame(Choreographer.java:740)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995)
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)
ha...@gmail.com <ha...@gmail.com> #14
I also got the same error with latest compose 1.2.0-rc03
and navigation 2.5.0
.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mystore.client, PID: 4525
java.util.NoSuchElementException: List contains no element matching the predicate.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:181)
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:141)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:115)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:110)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:124)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:55)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:141)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:67)
at com.mystore.client.ui.navigation.MyStoreNavigationKt.MyStoreNavigation(MyStoreNavigation.kt:83)
at com.mystore.client.ui.navigation.MyStoreNavigationKt$MyStoreNavigation$3.invoke(Unknown Source:15)
at com.mystore.client.ui.navigation.MyStoreNavigationKt$MyStoreNavigation$3.invoke(Unknown Source:10)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2351)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2618)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3205)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3183)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:252)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3183)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3148)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:746)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:876)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:107)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:485)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Unknown Source:12)
at android.view.Choreographer.doCallbacks(Unknown Source:84)
at android.view.Choreographer.doFrame(Unknown Source:324)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Unknown Source:11)
at android.os.Handler.handleCallback(Unknown Source:2)
at android.os.Handler.dispatchMessage(Unknown Source:4)
at android.os.Looper.loopOnce(Unknown Source:176)
at android.os.Looper.loop(Unknown Source:76)
at android.app.ActivityThread.main(Unknown Source:138)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
at com.android.internal.os.ZygoteInit.main(Unknown Source:306)
jb...@google.com <jb...@google.com> #15
Please file an issue against NavHost
.
ha...@gmail.com <ha...@gmail.com> #16
I was using NavHost
, not AnimatedNavHost
. However, I found that this issue was occurring due to the fact that NavHost
was recomposing every time instead of single time. I resolved that issue by putting startDestionation
variable in LaunchedEffect
il...@google.com <il...@google.com> #17
Re
ha...@gmail.com <ha...@gmail.com> #18
Actually, it was not bug and a mistake from my side. I resolved it. Thanks.
kr...@gmail.com <kr...@gmail.com> #19
I followed a tutorial from Stevdza-San on youtube that perfectly reproduces this issue.
The tutorial is about a welcome screen shown only the first time you start the app. So the startDestination gets decided at run time.
The navigation-compose dependency is now on 2.5.0.
If you revert back to -alpha02 the app works as expected.
kr...@gmail.com <kr...@gmail.com> #20
On -alpha02 and -alpha03 it still works, it breaks on -alpha04 and up.
jb...@google.com <jb...@google.com> #21
That is a different bug with a similar result. Please a file a new bug with your sample project.
it...@gmail.com <it...@gmail.com> #22
jb...@google.com <jb...@google.com> #23
That was fixed in accompanists by
es...@gmail.com <es...@gmail.com> #24
I observe this defect while using...
- Compose 1.3.0-rc02
- Navigation-Compose 2.5.1
My project does not depend on the Accompanist navigation artifact.
2022-08-11 19:46:19.991 20296-20296/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.es0329.archetype.dev, PID: 20296
java.util.NoSuchElementException: List contains no element matching the predicate.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:181)
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:141)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:115)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:110)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:124)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:55)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:141)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:13)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:10)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2363)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2630)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3217)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3195)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:336)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3195)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3160)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:748)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:876)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:107)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:485)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1035)
at android.view.Choreographer.doCallbacks(Choreographer.java:845)
at android.view.Choreographer.doFrame(Choreographer.java:775)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7870)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@da3b3d0, androidx.compose.ui.platform.MotionDurationScaleImpl@25d1fc9, StandaloneCoroutine{Cancelling}@fcbf6ce, AndroidUiDispatcher@5f09ef]
ch...@gmail.com <ch...@gmail.com> #25
Compose 1.2.0
Navigation-Compose 2.5.1
java.util.NoSuchElementException: List contains no element matching the predicate.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:181)
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:141)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:115)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:110)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:124)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:55)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:141)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:13)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:10)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2351)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2618)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3205)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3183)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:252)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3183)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3148)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:746)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:876)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:107)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:485)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
at android.view.Choreographer.doCallbacks(Choreographer.java:796)
at android.view.Choreographer.doFrame(Choreographer.java:727)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@d5b2171, androidx.compose.ui.platform.MotionDurationScaleImpl@263db56, StandaloneCoroutine{Cancelling}@bdcc7d7, AndroidUiDispatcher@92ec8c4]
jb...@google.com <jb...@google.com> #26
Please file a new issue with a minimal sample project that reproduces the issue.
na...@google.com <na...@google.com> #27
This bug was linked in a change in the following release(s):
androidx.navigation:navigation-compose:2.6.0-alpha01
mo...@gmail.com <mo...@gmail.com> #28
2022-09-13 20:23:48.665 4790-4790/com.example.diwaanka2022 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.diwaanka2022, PID: 4790
java.util.NoSuchElementException: List contains no element matching the predicate.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:181)
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:141)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:115)
at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:110)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:124)
at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:55)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:141)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:13)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:10)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2351)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2618)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3205)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3183)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:252)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3183)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3148)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:746)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:876)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:107)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:485)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:454)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
at android.view.Choreographer.doCallbacks(Choreographer.java:796)
at android.view.Choreographer.doFrame(Choreographer.java:727)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@b66f35d, androidx.compose.ui.platform.MotionDurationScaleImpl@fea24d2, StandaloneCoroutine{Cancelling}@a55d9a3, AndroidUiDispatcher@5ef84a0]
il...@google.com <il...@google.com> #29
Re
ph...@gmail.com <ph...@gmail.com> #30
I'm also facing the same issue on navigation-compose 2.6.0-alpha01. This stack trace is from Google Play console and happens 1-2 times a day. I can't reproduce it locally.
Exception java.util.NoSuchElementException: List contains no element matching the predicate.
at androidx.navigation.compose.NavHostKt$NavHost$4.invoke (NavHostKt.java:5)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke (ComposableLambdaImpl.java)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke (ComposableLambdaImpl.java)
at androidx.compose.animation.CrossfadeKt$Crossfade$5$1.invoke (CrossfadeKt.java:19)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke (ComposableLambdaImpl.java:1)
at androidx.compose.animation.CrossfadeKt.Crossfade (CrossfadeKt.java:18)
at androidx.compose.animation.CrossfadeKt.Crossfade (CrossfadeKt.java)
at androidx.navigation.compose.NavHostKt.NavHost (NavHostKt.java:105)
at androidx.navigation.compose.NavHostKt$NavHost$5.invoke (NavHostKt.java:1)
at androidx.compose.runtime.RecomposeScopeImpl.compose (RecomposeScopeImpl.java:23)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd (ComposerImpl.java:23)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup (ComposerImpl.java:15)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke (ComposerImpl.java:15)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke (ComposerImpl.java:15)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations (SnapshotStateKt__DerivedStateKt.java:3)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations (SnapshotStateKt.java:3)
at androidx.compose.runtime.ComposerImpl.doCompose (ComposerImpl.java:12)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release (ComposerImpl.java:2)
at androidx.compose.runtime.CompositionImpl.recompose (CompositionImpl.java:2)
at androidx.compose.runtime.Recomposer.performRecompose (Recomposer.java:5)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke (Recomposer.java:27)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame (AndroidUiFrameClock.java)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch (AndroidUiDispatcher.java:3)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame (AndroidUiDispatcher.java:3)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1008)
at android.view.Choreographer.doCallbacks (Choreographer.java:809)
at android.view.Choreographer.doFrame (Choreographer.java:740)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:995)
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)
[Deleted User] <[Deleted User]> #31
ri...@googlemail.com <ri...@googlemail.com> #32
=> Bug occurs here: implementation "androidx.navigation:navigation-compose:2.5.0-alpha04"
We also use similiar code as in this example and it can be reproduced here:
or...@gmail.com <or...@gmail.com> #33
ge...@gmail.com <ge...@gmail.com> #34
"From Navigation 2.5.3: NavHost will no longer cause a NoSuchElementException when there is no destination available for the Crossfade to compose. It will now just skip the composition. (Ieb46e,
Description
Component used: Navigation Version used: 2.5.0-alpha04, 2.5.0-beta01, and 2.5.0-rc01
The crash only happens in AndroidTest. Running the app normally seems fine from what I can tell so far. If I use
androidx.navigation:navigation-compose:2.5.0-alpha03
or any earlier release there are no issues when running the test or app. So,2.4.2
also works fine.The main testing libraries are. I will try and create a Sample project soon. espresso: 3.5.0-alpha06 compose: "1.2.0-beta02"