Repository: flutter
Issue: Flutter stacktrace is too verbose
Labels: framework,engine,dependency: dart,P2,team-engine,triaged-engine

I'm trying to find the place in my code where the error occurred, but it's giving me loads of internal code that I'm not editing and much of it is very repetitious and doesn't actually help me debug. I feel it should at least point me to the line where the error started.

```
I/flutter (19972): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (19972): The following assertion was thrown during performLayout():
I/flutter (19972): SliverGeometry is not valid: The "maxPaintExtent" is less than the "paintExtent".
I/flutter (19972): The maxPaintExtent is 1367.0408163265306, but the paintExtent is 1367.0408163265308. Maybe you have
I/flutter (19972): fallen prey to floating point rounding errors, and should explicitly apply the min() or max()
I/flutter (19972): functions, or the clamp() method, to the paintExtent? By definition, a sliver can't paint more than
I/flutter (19972): the maximum that it can paint!
I/flutter (19972): The RenderSliver that returned the offending geometry was:
I/flutter (19972):   RenderSliverGrid#b8b4a relayoutBoundary=up14 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (19972):   creator: SliverGrid ← SliverPadding ← ShrinkWrappingViewport ← _ScrollableScope ←
I/flutter (19972):   IgnorePointer-[GlobalKey#5f6a6] ← Semantics ← Listener ← _GestureSemantics ←
I/flutter (19972):   RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#a3500] ←
I/flutter (19972):   _ExcludableScrollSemantics-[GlobalKey#beb97] ← RepaintBoundary ← CustomPaint ← ⋯
I/flutter (19972):   parentData: paintOffset=Offset(0.0, 0.0) (can use size)
I/flutter (19972):   constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle,
I/flutter (19972):   scrollOffset: 0.0, remainingPaintExtent: Infinity, crossAxisExtent: 391.4, crossAxisDirection:
I/flutter (19972):   AxisDirection.right, viewportMainAxisExtent: Infinity, remainingCacheExtent: Infinity cacheOrigin:
I/flutter (19972):   0.0 )
I/flutter (19972):   geometry: SliverGeometry(scrollExtent: 1367.0, paintExtent: 1367.0, maxPaintExtent: 1367.0,
I/flutter (19972):   hasVisualOverflow: true, cacheExtent: 1367.0)
I/flutter (19972):   currently live children: 0 to 5
I/flutter (19972): 
I/flutter (19972): When the exception was thrown, this was the stack:
I/flutter (19972): #0      SliverGeometry.debugAssertIsValid.<anonymous closure>.verify (package:flutter/src/rendering/sliver.dart:672:9)
I/flutter (19972): #1      SliverGeometry.debugAssertIsValid.<anonymous closure> (package:flutter/src/rendering/sliver.dart:690:15)
I/flutter (19972): #2      SliverGeometry.debugAssertIsValid (package:flutter/src/rendering/sliver.dart:702:6)
I/flutter (19972): #3      RenderSliver.debugAssertDoesMeetConstraints (package:flutter/src/rendering/sliver.dart:1057:21)
I/flutter (19972): #4      RenderObject.layout.<anonymous closure> (package:flutter/src/rendering/object.dart:1572:19)
I/flutter (19972): #5      RenderObject.layout (package:flutter/src/rendering/object.dart:1572:67)
I/flutter (19972): #6      RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182:11)
I/flutter (19972): #7      RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #8      RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:405:13)
I/flutter (19972): #9      RenderShrinkWrappingViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1640:12)
I/flutter (19972): #10     RenderShrinkWrappingViewport.performLayout (package:flutter/src/rendering/viewport.dart:1603:20)
I/flutter (19972): #11     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #12     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #13     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #14     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #15     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #16     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #17     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #18     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #19     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #20     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #21     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #22     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #23     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #24     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #25     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #26     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #27     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #28     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
I/flutter (19972): #29     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #30     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (19972): #31     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #32     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:520:15)
I/flutter (19972): #33     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (19972): #34     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11)
I/flutter (19972): #35     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:338:7)
I/flutter (19972): #36     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7)
I/flutter (19972): #37     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14)
I/flutter (19972): #38     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445:7)
I/flutter (19972): #39     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:704:18)
I/flutter (19972): #40     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
I/flutter (19972): #41     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13)
I/flutter (19972): #42     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter (19972): #43     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (19972): #44     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (19972): #45     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (19972): #46     _invoke (dart:ui/hooks.dart:120:13)
I/flutter (19972): #47     _drawFrame (dart:ui/hooks.dart:109:3)
I/flutter (19972): 
I/flutter (19972): The following RenderObject was being processed when the exception was fired:
I/flutter (19972):   RenderSliverGrid#b8b4a relayoutBoundary=up14 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (19972):   creator: SliverGrid ← SliverPadding ← ShrinkWrappingViewport ← _ScrollableScope ←
I/flutter (19972):   IgnorePointer-[GlobalKey#5f6a6] ← Semantics ← Listener ← _GestureSemantics ←
I/flutter (19972):   RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#a3500] ←
I/flutter (19972):   _ExcludableScrollSemantics-[GlobalKey#beb97] ← RepaintBoundary ← CustomPaint ← ⋯
I/flutter (19972):   parentData: paintOffset=Offset(0.0, 0.0) (can use size)
I/flutter (19972):   constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle,
I/flutter (19972):   scrollOffset: 0.0, remainingPaintExtent: Infinity, crossAxisExtent: 391.4, crossAxisDirection:
I/flutter (19972):   AxisDirection.right, viewportMainAxisExtent: Infinity, remainingCacheExtent: Infinity cacheOrigin:
I/flutter (19972):   0.0 )
I/flutter (19972):   geometry: SliverGeometry(scrollExtent: 1367.0, paintExtent: 1367.0, maxPaintExtent: 1367.0,
I/flutter (19972):   hasVisualOverflow: true, cacheExtent: 1367.0)
I/flutter (19972):   currently live children: 0 to 5
I/flutter (19972): This RenderObject had the following descendants (showing up to depth 5):
I/flutter (19972):   RenderRepaintBoundary#1e411 NEEDS-PAINT
I/flutter (19972):     RenderSemanticsGestureHandler#3da27 NEEDS-PAINT
I/flutter (19972):       RenderPointerListener#135b5 NEEDS-PAINT
I/flutter (19972):         RenderSemanticsAnnotations#decb0 NEEDS-PAINT
I/flutter (19972):           RenderPadding#3bec8 NEEDS-PAINT
I/flutter (19972):   RenderRepaintBoundary#fb7a2 NEEDS-PAINT
I/flutter (19972):     RenderSemanticsGestureHandler#62735 NEEDS-PAINT
I/flutter (19972):       RenderPointerListener#67771 NEEDS-PAINT
I/flutter (19972):         RenderSemanticsAnnotations#bbc5a NEEDS-PAINT
I/flutter (19972):           RenderPadding#e0ea4 NEEDS-PAINT
I/flutter (19972):   RenderRepaintBoundary#3a683 NEEDS-PAINT
I/flutter (19972):     RenderSemanticsGestureHandler#19b8c NEEDS-PAINT
I/flutter (19972):       RenderPointerListener#e5029 NEEDS-PAINT
I/flutter (19972):         RenderSemanticsAnnotations#381f5 NEEDS-PAINT
I/flutter (19972):           RenderPadding#06f0e NEEDS-PAINT
I/flutter (19972):   RenderRepaintBoundary#1d923 NEEDS-PAINT
I/flutter (19972):     RenderSemanticsGestureHandler#75600 NEEDS-PAINT
I/flutter (19972):       RenderPointerListener#e721d NEEDS-PAINT
I/flutter (19972):         RenderSemanticsAnnotations#82f4d NEEDS-PAINT
I/flutter (19972):           RenderPadding#0c78a NEEDS-PAINT
I/flutter (19972):   RenderRepaintBoundary#9231b NEEDS-PAINT
I/flutter (19972):     RenderSemanticsGestureHandler#ad195 NEEDS-PAINT
I/flutter (19972):       RenderPointerListener#cad1f NEEDS-PAINT
I/flutter (19972):         RenderSemanticsAnnotations#e1153 NEEDS-PAINT
I/flutter (19972):           RenderPadding#2d2e9 NEEDS-PAINT
I/flutter (19972):   ...(descendants list truncated after 25 lines)
I/flutter (19972): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (19972): Another exception was thrown: SliverGeometry is not valid: The "maxPaintExtent" is less than the "paintExtent".
I/flutter (19972): Another exception was thrown: SliverGeometry is not valid: The "maxPaintExtent" is less than the "paintExtent".
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderShrinkWrappingViewport#07de8 relayoutBoundary=up12 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderIgnorePointer#7798d relayoutBoundary=up11 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#0d4fa relayoutBoundary=up10 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderPointerListener#e72cf relayoutBoundary=up9 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderSemanticsGestureHandler#80aa5 relayoutBoundary=up8 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: _RenderExcludableScrollSemantics#d5e7a relayoutBoundary=up7 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#eb88d relayoutBoundary=up6 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderCustomPaint#a5d7c relayoutBoundary=up5 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#c81ea relayoutBoundary=up4 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#c81ea relayoutBoundary=up4 NEEDS-PAINT
I/flutter (19972): Another exception was thrown: RenderBox was not laid out: _RenderExcludableScrollSemantics#d5e7a relayoutBoundary=up7 NEEDS-PAINT
```