Skip to content

BoxConstraints has both a negative minimum width and a negative minimum height. #362

@kjxbyz

Description

@kjxbyz

══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
BoxConstraints has both a negative minimum width and a negative minimum height.
These invalid constraints were provided to RenderSemanticsGestureHandler's layout() function by the
following function, which probably computed the invalid constraints in question:
  _layoutChild (package:flutter_staggered_grid_view/src/rendering/staggered_grid.dart:470:9)
The offending constraints were:
  BoxConstraints(w=-3.0, h=-3.0; NOT NORMALIZED)

The relevant error-causing widget was:
  StaggeredGrid
  StaggeredGrid:file:///Users/ying/work/frontend-app/lib/modules/home/views/lobby_view.dart:37:36

When the exception was thrown, this was the stack:
#0      BoxConstraints.debugAssertIsValid.<anonymous closure>.throwError (package:flutter/src/rendering/box.dart:548:9)
#1      BoxConstraints.debugAssertIsValid.<anonymous closure> (package:flutter/src/rendering/box.dart:582:9)
#2      BoxConstraints.debugAssertIsValid (package:flutter/src/rendering/box.dart:618:6)
#3      RenderObject.layout (package:flutter/src/rendering/object.dart:2666:19)
#4      _layoutChild (package:flutter_staggered_grid_view/src/rendering/staggered_grid.dart:470:9)
#5      RenderStaggeredGrid._computeSize (package:flutter_staggered_grid_view/src/rendering/staggered_grid.dart:315:20)
#6      RenderStaggeredGrid.performLayout (package:flutter_staggered_grid_view/src/rendering/staggered_grid.dart:386:27)
#7      RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#8      RenderSliverToBoxAdapter.performLayout (package:flutter/src/rendering/sliver.dart:2043:12)
#9      RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#10     RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:133:12)
#11     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:371:11)
#12     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#13     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:611:13)
#14     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1592:12)
#15     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1483:20)
#16     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#17     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#18     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#19     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#20     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#21     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#22     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#23     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#24     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#25     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#26     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#27     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#28     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#29     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#30     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#31     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#32     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#33     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#34     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:451:14)
#35     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#37     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#38     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#39     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#40     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#41     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#42     RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:354:19)
#43     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#44     RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:133:12)
#45     _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:162:11)
#46     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#47     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:611:13)
#48     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1592:12)
#49     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1483:20)
#50     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#51     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#52     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#53     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#54     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#55     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#56     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#57     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#58     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#59     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#60     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#61     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#62     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#63     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#64     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#65     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#66     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#67     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#68     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
#69     RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1202:26)
#70     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1255:32)
#71     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#72     RenderStack.layoutPositionedChild (package:flutter/src/rendering/stack.dart:549:11)
#73     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:684:13)
#74     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#75     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
#76     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118:7)
#77     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
#78     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:14)
#79     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#80     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#81     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#82     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#83     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#84     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#85     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#86     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#87     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#88     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#89     RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:354:19)
#90     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#91     RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:133:12)
#92     _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:162:11)
#93     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#94     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:611:13)
#95     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1592:12)
#96     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1483:20)
#97     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#98     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#99     RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#100    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#101    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#102    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#103    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#104    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#105    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#106    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#107    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#108    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#109    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#110    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#111    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#112    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#113    _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#114    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#115    MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
#116    _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118:7)
#117    MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
#118    RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:14)
#119    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#120    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#121    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#122    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#123    _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#124    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#125    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#126    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#127    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#128    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#129    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#130    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#131    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#132    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#133    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#134    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#135    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#136    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#137    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#138    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#139    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#140    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#141    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#142    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#143    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#144    RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3857:13)
#145    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#146    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#147    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#148    _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1085:13)
#149    _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1431:9)
#150    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#151    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#152    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#153    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#154    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#155    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#156    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#157    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#158    RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
#159    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#160    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#161    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#162    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#163    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#164    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#165    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#166    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#167    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#168    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#169    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#170    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#171    RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#172    RenderView.performLayout (package:flutter/src/rendering/view.dart:294:12)
#173    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2614:7)
#174    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1160:18)
#175    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1173:15)
#176    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
#177    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1242:13)
#178    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#179    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1438:15)
#180    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1351:9)
#181    SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1060:9)
#182    PlatformDispatcher.scheduleWarmUpFrame.<anonymous closure> (dart:ui/platform_dispatcher.dart:889:16)
#186    _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:193:12)
(elided 3 frames from class _Timer and dart:async-patch)

The following RenderObject was being processed when the exception was fired: RenderStaggeredGrid#9471a relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE:
  creator: StaggeredGrid ← SliverToBoxAdapter ← SliverPadding ← Viewport ←
    IgnorePointer-[GlobalKey#d71ef] ← Semantics ← Listener ← _GestureSemantics ←
    RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#2d764] ← Listener ← _ScrollableScope
    ← _ScrollSemantics-[GlobalKey#2af53] ← ⋯
  parentData: paintOffset=Offset(0.0, 0.0) (can use size)
  constraints: BoxConstraints(w=0.0, 0.0<=h<=Infinity)
  size: MISSING
This RenderObject had the following descendants (showing up to depth 5):
    child 1: RenderSemanticsGestureHandler#1847d NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
      child: RenderPointerListener#d5674 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        child: RenderStack#5ede2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
          child 1: RenderClipRect#c1556 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            child: RenderTransform#14d1a NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
          child 2: RenderPositionedBox#64124 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            child: RenderPadding#c34d9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    child 2: RenderSemanticsGestureHandler#3c6f0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
      child: RenderPointerListener#8fe2e NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        child: RenderDecoratedBox#61caf NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
          child: RenderClipPath#e6d44 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            child: RenderPadding#9061f NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    child 3: RenderSemanticsGestureHandler#b30de NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
      child: RenderPointerListener#2034c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        child: RenderDecoratedBox#bd7db NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
          child: RenderClipPath#8e542 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            child: RenderPadding#edd57 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
════════════════════════════════════════════════════════════════════════════════════════════════════

Another exception was thrown: RenderBox was not laid out: RenderStaggeredGrid#9471a relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
Another exception was thrown: Null check operator used on a null value
Another exception was thrown: Null check operator used on a null value

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions