-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Closed
Copy link
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: regressionIt was better in the past than it is nowIt was better in the past than it is nowf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 3.19Found to occur in 3.19Found to occur in 3.19frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamOwned by Design Languages teamtriaged-designTriaged by Design Languages teamTriaged by Design Languages team
Description
Flutter dev channel
Reproduces on MacOS and Web
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
RenderFlex children have non-zero flex but incoming height constraints are unbounded.
When a column is in a parent that does not provide a finite height constraint, for example if it is
in a vertical scrollable, it will try to shrink-wrap its children along the vertical axis. Setting a
flex on a child (e.g. using Expanded) indicates that the child is to expand to fill the remaining
space in the vertical direction.
These two directives are mutually exclusive. If a parent is to shrink-wrap its child, the child
cannot simultaneously expand to fit its parent.
Consider setting mainAxisSize to MainAxisSize.min and using FlexFit.loose fits for the flexible
children (using Flexible rather than Expanded). This will allow the flexible children to size
themselves to less than the infinite remaining space they would otherwise be forced to take, and
then will cause the RenderFlex to shrink-wrap the children rather than expanding to fit the maximum
constraints provided by the parent.
If this message did not help you determine the problem, consider using debugDumpRenderTree():
https://flutter.dev/debugging/#rendering-layer
http://api.flutter.dev/flutter/rendering/debugDumpRenderTree.html
The affected RenderFlex is:
RenderFlex#7295d relayoutBoundary=up26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE(creator: Column ← _SingleChildViewport ← IgnorePointer-[GlobalKey#0c35e] ← Semantics ← Listener ← _GestureSemantics ←
RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#34979] ← Listener ← _ScrollableScope ← _ScrollSemantics-[GlobalKey#9f11f] ← NotificationListener<ScrollMetricsNotification> ← RepaintBoundary ← ⋯, parentData: <none> (can use
size), constraints: BoxConstraints(unconstrained), size: MISSING, direction: vertical, mainAxisAlignment: start, mainAxisSize: min, crossAxisAlignment: center, verticalDirection: down)
The creator information is set to:
Column ← _SingleChildViewport ← IgnorePointer-[GlobalKey#0c35e] ← Semantics ← Listener ←
_GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#34979] ←
Listener ← _ScrollableScope ← _ScrollSemantics-[GlobalKey#9f11f] ←
NotificationListener<ScrollMetricsNotification> ← RepaintBoundary ← ⋯
The nearest ancestor providing an unbounded width constraint is: _RenderSingleChildViewport#8e9f8 relayoutBoundary=up25 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE:
needs compositing
creator: _SingleChildViewport ← IgnorePointer-[GlobalKey#0c35e] ← Semantics ← Listener ←
_GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#34979] ←
Listener ← _ScrollableScope ← _ScrollSemantics-[GlobalKey#9f11f] ←
NotificationListener<ScrollMetricsNotification> ← RepaintBoundary ← CustomPaint-[GlobalKey#98e20]
← ⋯
parentData: <none> (can use size)
constraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=456.0)
size: MISSING
offset: Offset(0.0, -0.0)
See also: https://flutter.dev/unbounded-constraints
If none of the above helps enough to fix this problem, please don't hesitate to file a bug:
https://github.com/flutter/flutter/issues/new?template=2_bug.yml
The relevant error-causing widget was:
NavigationRail
NavigationRail:file:///Users/kevmoo/github/flutter_samples/material_3_demo/lib/home.dart:207:27
When the exception was thrown, this was the stack:
#0 RenderFlex.performLayout.<anonymous closure> (package:flutter/src/rendering/flex.dart:899:9)
flutter/samples#1 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:902:6)
flutter/samples#2 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#3 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#4 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:494:14)
flutter/samples#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#6 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#9 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#12 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#15 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#18 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#21 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#24 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#27 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#29 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:569:11)
flutter/samples#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#31 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#33 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#34 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#37 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#40 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#43 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#46 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#47 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:456:14)
flutter/samples#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#49 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#50 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
flutter/samples#51 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:869:45)
flutter/samples#52 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:904:32)
flutter/samples#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#54 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#55 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
flutter/samples#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#57 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#60 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#62 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1440:11)
flutter/samples#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#64 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#65 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#66 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#67 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#70 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#71 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:456:14)
flutter/samples#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#73 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#75 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#76 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#78 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1440:11)
flutter/samples#79 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#80 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#81 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
flutter/samples#82 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:809:43)
flutter/samples#83 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:904:32)
flutter/samples#84 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#85 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#86 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12)
flutter/samples#87 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1063:7)
flutter/samples#88 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
flutter/samples#89 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
flutter/samples#90 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#91 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#93 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#94 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#95 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#96 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1440:11)
flutter/samples#97 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#98 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#100 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#101 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#102 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#103 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#104 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#105 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#106 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#107 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#108 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
flutter/samples#109 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:582:43)
flutter/samples#110 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:609:12)
flutter/samples#111 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#112 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#113 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
flutter/samples#114 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
flutter/samples#115 RenderBox.layout (package:flutter/src/rendering/box.dart:2396:11)
flutter/samples#116 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: regressionIt was better in the past than it is nowIt was better in the past than it is nowf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 3.19Found to occur in 3.19Found to occur in 3.19frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamOwned by Design Languages teamtriaged-designTriaged by Design Languages teamTriaged by Design Languages team