Closed Bug 1837322 Opened 2 years ago Closed 2 years ago

Crash [@ java.lang.IllegalArgumentException: at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke(LazyList.kt:3104) ]

Categories

(Firefox for Android :: General, defect, P1)

Firefox 116
All
Android
defect

Tracking

()

RESOLVED FIXED
116 Branch
Tracking Status
firefox114 --- unaffected
firefox115 --- unaffected
firefox116 --- fixed

People

(Reporter: diannaS, Assigned: towhite)

References

(Regression)

Details

(Keywords: regression, topcrash)

Crash Data

https://crash-stats.mozilla.org/report/index/3154a02a-93f4-4fd1-b0b5-47a4d0230608#tab-details
started with build 20230606040644


java.lang.IllegalArgumentException: Failed requirement.
	at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke(LazyList.kt:3104)
	at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$1$2$1.invoke(LazyLayout.kt:26)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:53)
	at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:42)
	at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:6)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:11)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke(LayoutNodeLayoutDelegate.kt:9)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:64)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:7)
	at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:44)
	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:117)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0(LayoutNodeLayoutDelegate.kt:107)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0(LayoutNodeLayoutDelegate.kt:136)
	at androidx.compose.foundation.layout.RowColumnImplKt$rowColumnMeasurePolicy$1.measure-3p2s80s(RowColumnImpl.kt:179)
	at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:42)
	at androidx.compose.foundation.layout.PaddingModifier.measure-3p2s80s(Padding.kt:38)
	at androidx.compose.ui.node.BackwardsCompatNode.measure-3p2s80s(BackwardsCompatNode.kt:15)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:11)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke(LayoutNodeLayoutDelegate.kt:9)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:64)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:7)
	at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:44)
	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:117)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0(LayoutNodeLayoutDelegate.kt:107)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0(LayoutNodeLayoutDelegate.kt:136)
	at androidx.compose.ui.layout.RootMeasurePolicy.measure-3p2s80s(RootMeasurePolicy.kt:49)
	at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:42)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasure$2.invoke(LayoutNodeLayoutDelegate.kt:9)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:64)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:7)
	at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:44)
	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:117)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0(LayoutNodeLayoutDelegate.kt:107)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA(MeasureAndLayoutDelegate.kt:18)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureOnly(MeasureAndLayoutDelegate.kt:27)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.recurseRemeasure(MeasureAndLayoutDelegate.kt:1)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureOnly(MeasureAndLayoutDelegate.kt:28)
	at androidx.compose.ui.platform.AndroidComposeView.onMeasure(AndroidComposeView.android.kt:94)
	at android.view.View.measure(View.java:27131)
	at androidx.compose.ui.platform.AbstractComposeView.internalOnMeasure$ui_release(ComposeView.android.kt:64)
	at androidx.compose.ui.platform.AbstractComposeView.onMeasure(ComposeView.android.kt:4)
	at android.view.View.measure(View.java:27131)
	at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:93)
	at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:60)
	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:54)
	at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:825)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:61)
	at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:64)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:7)
	at com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:93)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:398)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at org.mozilla.fenix.perf.HomeActivityRootLinearLayout.onMeasure(HomeActivityRootLinearLayout.kt:11)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:160)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7951)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at com.android.internal.policy.DecorView.onMeasure(DecorView.java:1173)
	at android.view.View.measure(View.java:27131)
	at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:4187)
	at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2936)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3204)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2618)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9965)
	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:8506)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)```

This crash looks like a new regression in Nightly 116. The earliest crash reports are from yesterday's build ID 20230606040644. I'll ask the team if anyone recently landed changes to Compose layout code.

Severity: -- → S2
Keywords: regression
Priority: -- → P2

Vlad, I suspect this crash might be a regression from bug 1828493.

Flags: needinfo?(Vlad.DreghiciPopa)
Priority: P2 → P1
Regressed by: 1828493
Assignee: nobody → Vlad.DreghiciPopa
Status: NEW → ASSIGNED
Flags: needinfo?(Vlad.DreghiciPopa)

It looks like there are no breadcrumbs regarding TabsTrayFragment in this crash. The only changes added in HomeFragment were in this patch.

Tom can you also take a look at this?

Flags: needinfo?(towhite)

The bug is linked to a topcrash signature, which matches the following criterion:

  • Top 10 AArch64 and ARM crashes on nightly

For more information, please visit BugBot documentation.

Keywords: topcrash

Thanks [:vdreghici], have reverted this patch while investigating.

Flags: needinfo?(towhite)
See Also: → 1837409
See Also: → 1837413
Regressed by: 1821724
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
Duplicate of this bug: 1837445
Assignee: Vlad.DreghiciPopa → towhite
No longer regressed by: 1828493
You need to log in before you can comment on or make changes to this bug.