Status Update
Comments
la...@gmail.com <la...@gmail.com> #2
After reverting to compose 1.1.1 crashes go away. Cannot reproduce.
lp...@google.com <lp...@google.com>
an...@google.com <an...@google.com> #3
Seems like the same as b/230168389
Description
Jetpack Compose version:1.2.0-beta02 Jetpack Compose component used:1.2.0-beta02 Android Studio Build:Chipmunk stable Kotlin version:1.6.21
Steps to Reproduce or Code Sample to Reproduce:
Cannot reproduce. But affected code sample is here @Composable private fun TypeList(vmi: TypeVMI, modifier: Modifier) { LazyColumn(modifier = modifier) { for (i in vmi.list.indices) { //line 88 item { val entry = vmi.list[i] //line 90 when (entry.fileType) { FOLDER_HEADER_TYPE -> { RowHeaderType(entry = entry, index = i, modifier = Modifier .height(IntrinsicSize.Max) .fillMaxWidth()) { vmi.onSelect(it) } } else -> { RowFileType(entry = entry, index = i, modifier = Modifier .fillMaxWidth() .padding(start = 12.dp) .height(IntrinsicSize.Max), onItemClick = { vmi.onItemClick(it) }, onSelect = { vmi.onSelect(it) }) } } } }
}
Stack trace (if applicable): Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 24 byte allocation with 27272 free bytes and 26KB until OOM, target footprint 268435456, growth limit 268435456; failed due to fragmentation (largest possible contiguous allocation 27525120 bytes) at androidx.compose.foundation.lazy.LazyListScopeImpl.item(LazyListScopeImpl.kt:51) at androidx.compose.foundation.lazy.LazyListScope$DefaultImpls.item$default(LazyDsl.kt:48) at com.cls.partition.type.TypeScreen$TypeList$1.invoke(TypeScreen.kt:90) at com.cls.partition.type.TypeScreen$TypeList$1.invoke(TypeScreen.kt:88) at androidx.compose.foundation.lazy.LazyListItemProviderImplKt$rememberItemProvider$2$1.invoke(LazyListItemProviderImpl.kt:55) at androidx.compose.foundation.lazy.LazyListItemProviderImplKt$rememberItemProvider$2$1.invoke(LazyListItemProviderImpl.kt:54) at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2098) at androidx.compose.runtime.DerivedSnapshotState.currentRecord(DerivedState.kt:121) at androidx.compose.runtime.DerivedSnapshotState.getCurrentValue(DerivedState.kt:171) at androidx.compose.runtime.DerivedSnapshotState.getValue(DerivedState.kt:165) at androidx.compose.foundation.lazy.LazyListItemProviderImpl.getItemCount(LazyListItemProviderImpl.kt:120) at androidx.compose.foundation.lazy.LazyListScrollPosition$Companion.findLazyListIndexByKey-KXnL5Ic(LazyListScrollPosition.kt:128) at androidx.compose.foundation.lazy.LazyListScrollPosition$Companion.access$findLazyListIndexByKey-KXnL5Ic(LazyListScrollPosition.kt:113) at androidx.compose.foundation.lazy.LazyListScrollPosition.updateScrollPositionIfTheFirstItemWasMoved(LazyListScrollPosition.kt:98) at androidx.compose.foundation.lazy.LazyListState.updateScrollPositionIfTheFirstItemWasMoved$foundation_release(LazyListState.kt:389) at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke-0kLqBqw(LazyList.kt:215) at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke(LazyList.kt:194) at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$2$1.invoke-0kLqBqw(LazyLayout.kt:74) at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$2$1.invoke(LazyLayout.kt:70) at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:590) at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable.kt:44) at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:405) at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:53) at androidx.compose.foundation.layout.FillModifier.measure-3p2s80s(Size.kt:658) at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:53) at androidx.compose.ui.node.LayoutNode$performMeasure$1.invoke(LayoutNode.kt:1420) at androidx.compose.ui.node.LayoutNode$performMeasure$1.invoke(LayoutNode.kt:1419) at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2098) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:112) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:78) at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:66) at androidx.compose.ui.node.LayoutNode.performMeasure-BRTryo0$ui_release(LayoutNode.kt:1419) at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:94) at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui_release(LayoutNode.kt:1373) at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui_release$default(LayoutNode.kt:1364) at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA(MeasureAndLayoutDelegate.kt:187) at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:274) at androidx.compose.ui.node.MeasureAndLayoutDelegate.access$remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:38) at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout(MeasureAndLayoutDelegate.kt:208) at androidx.compose.ui.platform.AndroidComposeView.measureAndLayout(AndroidComposeView.android.kt:740) at androidx.compose.ui.node.Owner$DefaultImpls.measureAndLayout$default(Owner.kt:196) at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.android.kt:937) at android.view.View.draw(View.java:23904) at android.view.View.updateDisplayListIfDirty(View.java:22776) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5320) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5292) at android.view.View.updateDisplayListIfDirty(View.java:22731) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5320) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5292) at android.view.View.updateDisplayListIfDirty(View.java:22731) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5320) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5292) at android.view.View.updateDisplayListIfDirty(View.java:22731) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5320) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5292) at android.view.View.updateDisplayListIfDirty(View.java:22731) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:579) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:585) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:662) at android.view.ViewRootImpl.draw(ViewRootImpl.java:5042) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4749) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3866) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2618) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9971) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1010) at android.view.Choreographer.doCallbacks(Choreographer.java:809) at android.view.Choreographer.doFrame(Choreographer.java:744) 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:8633) 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)