Created
November 28, 2023 22:39
-
-
Save hbb20/0ffa975df9e36117e4560b5e0de5fe7b to your computer and use it in GitHub Desktop.
measureLazyList stack trace
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fatal Exception: java.lang.IllegalArgumentException | |
Failed requirement. | |
androidx.compose.foundation.lazy.LazyListMeasureKt.measureLazyList-CD5nmq0 (LazyListMeasure.kt:63) | |
androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke-0kLqBqw (LazyList.kt:306) | |
androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke (LazyList.kt:184) | |
androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke-0kLqBqw (LazyLayout.kt:87) | |
androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke (LazyLayout.kt:80) | |
androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:866) | |
androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:126) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2.invoke-3p2s80s (AndroidOverscroll.kt:578) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2.invoke (AndroidOverscroll.kt:577) | |
androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s (LayoutModifier.kt:291) | |
androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:116) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1.invoke-3p2s80s (AndroidOverscroll.kt:562) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1.invoke (AndroidOverscroll.kt:561) | |
androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s (LayoutModifier.kt:291) | |
androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:116) | |
androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s (GraphicsLayerModifier.kt:646) | |
androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:116) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke (LayoutNodeLayoutDelegate.kt:1499) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke (LayoutNodeLayoutDelegate.kt:1495) | |
androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:2299) | |
androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:467) | |
androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:230) | |
androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133) | |
androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.java:1495) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.java:35) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:560) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0 (LayoutNodeLayoutDelegate.kt:539) | |
androidx.compose.foundation.layout.BoxKt$boxMeasurePolicy$1.measure-3p2s80s (Box.kt:114) | |
androidx.compose.foundation.layout.BoxWithConstraintsKt$BoxWithConstraints$1$1.invoke-0kLqBqw (BoxWithConstraints.kt:70) | |
androidx.compose.foundation.layout.BoxWithConstraintsKt$BoxWithConstraints$1$1.invoke (BoxWithConstraints.kt:67) | |
androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:866) | |
androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:126) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke (LayoutNodeLayoutDelegate.kt:1499) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke (LayoutNodeLayoutDelegate.kt:1495) | |
androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:2299) | |
androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:467) | |
androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:230) | |
androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133) | |
androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.java:1495) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.java:35) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:560) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0 (LayoutNodeLayoutDelegate.kt:539) | |
androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScopeImpl.measure-0kLqBqw (LazyLayoutMeasureScope.kt:123) | |
androidx.compose.foundation.lazy.LazyListMeasuredItemProvider.getAndMeasure (LazyListMeasuredItemProvider.kt:48) | |
androidx.compose.foundation.lazy.LazyListMeasureKt.measureLazyList-CD5nmq0 (LazyListMeasure.kt:159) | |
androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke-0kLqBqw (LazyList.kt:306) | |
androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke (LazyList.kt:184) | |
androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke-0kLqBqw (LazyLayout.kt:87) | |
androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke (LazyLayout.kt:80) | |
androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:866) | |
androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:126) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2.invoke-3p2s80s (AndroidOverscroll.kt:578) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$2.invoke (AndroidOverscroll.kt:577) | |
androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s (LayoutModifier.kt:291) | |
androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:116) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1.invoke-3p2s80s (AndroidOverscroll.kt:562) | |
androidx.compose.foundation.AndroidOverscrollKt$StretchOverscrollNonClippingLayer$1.invoke (AndroidOverscroll.kt:561) | |
androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s (LayoutModifier.kt:291) | |
androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:116) | |
androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s (GraphicsLayerModifier.kt:646) | |
androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:116) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke (LayoutNodeLayoutDelegate.kt:1499) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke (LayoutNodeLayoutDelegate.kt:1495) | |
androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:2299) | |
androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:467) | |
androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:230) | |
androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133) | |
androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.java:1495) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.java:35) | |
androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:560) | |
androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui_release (LayoutNode.kt:1140) | |
androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA (MeasureAndLayoutDelegate.kt:321) | |
androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout-0kLqBqw (MeasureAndLayoutDelegate.kt:389) | |
androidx.compose.ui.platform.AndroidComposeView.measureAndLayout-0kLqBqw (AndroidComposeView.android.kt:890) | |
androidx.compose.ui.node.LayoutNode.forceRemeasure (LayoutNode.kt:1214) | |
androidx.compose.foundation.lazy.LazyListState.onScroll$foundation_release (LazyListState.java:301) | |
androidx.compose.foundation.lazy.LazyListState$scrollableState$1.invoke (LazyListState.kt:162) | |
androidx.compose.foundation.lazy.LazyListState$scrollableState$1.invoke (LazyListState.kt:162) | |
androidx.compose.foundation.gestures.DefaultScrollableState$scrollScope$1.scrollBy (ScrollableState.kt:166) | |
androidx.compose.foundation.gestures.ScrollingLogic$dispatchScroll$performScroll$1.invoke-MK-Hz9U (Scrollable.kt:425) | |
androidx.compose.foundation.gestures.ScrollingLogic$dispatchScroll$performScroll$1.invoke (Scrollable.kt:417) | |
androidx.compose.foundation.AndroidEdgeEffectOverscrollEffect.applyToScroll-Rhakbz0 (AndroidOverscroll.kt:180) | |
androidx.compose.foundation.gestures.ScrollingLogic.dispatchScroll-3eAAhYA (Scrollable.kt:438) | |
androidx.compose.foundation.gestures.ScrollingLogic$doFlingAnimation$2$outerScopeScroll$1.invoke-MK-Hz9U (Scrollable.kt:490) | |
androidx.compose.foundation.gestures.ScrollingLogic$doFlingAnimation$2$outerScopeScroll$1.invoke (Scrollable.kt:489) | |
androidx.compose.foundation.gestures.ScrollingLogic$doFlingAnimation$2$scope$1.scrollBy (Scrollable.kt:494) | |
androidx.compose.foundation.gestures.DefaultFlingBehavior$performFling$2$1.invoke (Scrollable.kt:605) | |
androidx.compose.foundation.gestures.DefaultFlingBehavior$performFling$2$1.invoke (Scrollable.kt:603) | |
androidx.compose.animation.core.SuspendAnimationKt.doAnimationFrame (SuspendAnimation.kt:361) | |
androidx.compose.animation.core.SuspendAnimationKt.doAnimationFrameWithScale (SuspendAnimation.kt:339) | |
androidx.compose.animation.core.SuspendAnimationKt.access$doAnimationFrameWithScale (SuspendAnimation.kt:1) | |
androidx.compose.animation.core.SuspendAnimationKt$animate$9.invoke (SuspendAnimation.kt:279) | |
androidx.compose.animation.core.SuspendAnimationKt$animate$9.invoke (SuspendAnimation.kt:278) | |
androidx.compose.animation.core.SuspendAnimationKt$callWithFrameNanos$2.invoke (SuspendAnimation.kt:304) | |
androidx.compose.animation.core.SuspendAnimationKt$callWithFrameNanos$2.invoke (SuspendAnimation.kt:303) | |
androidx.compose.runtime.BroadcastFrameClock$FrameAwaiter.resume (BroadcastFrameClock.java:42) | |
androidx.compose.runtime.BroadcastFrameClock.sendFrame (BroadcastFrameClock.kt:71) | |
androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke (Recomposer.kt:544) | |
androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke (Recomposer.kt:537) | |
androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame (AndroidUiFrameClock.android.kt:41) | |
androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch (AndroidUiDispatcher.java:109) | |
androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch (AndroidUiDispatcher.java:41) | |
androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame (AndroidUiDispatcher.android.kt:69) | |
android.view.Choreographer$CallbackRecord.run (Choreographer.java:1106) | |
android.view.Choreographer.doCallbacks (Choreographer.java:866) | |
android.view.Choreographer.doFrame (Choreographer.java:792) | |
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1092) | |
android.os.Handler.handleCallback (Handler.java:938) | |
android.os.Handler.dispatchMessage (Handler.java:99) | |
android.os.Looper.loopOnce (Looper.java:226) | |
android.os.Looper.loop (Looper.java:313) | |
android.app.ActivityThread.main (ActivityThread.java:8663) | |
java.lang.reflect.Method.invoke (Method.java) | |
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:567) | |
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135) |
I already use PullRefreshIndicator from Compose for the versions that have reported crashes.
Regarding recent beta version of foundation, what gives you hope?
Now I am seeing "invalid afterContentPadding" crashes. What's your situation?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Yes, I have additional log info in my crashlytics so I know what screen is crushed (I use crashlytics.log() method to log which screen my user currently sees). For now I have suggestion that this crush is caused by Pull-to-Refresh view (I use SwipeRefresh from Accomponist), so I decided to switch to compose's PullRefreshIndicator and see if it helps. Maybe it will help you too
Also I see from google's source code that they've added additional info to this error, maybe you can update compose-foundation lib to most recent beta version and see if it gives you more context