tvolkert / chicago

The Chicago widget set for Flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rollup is attempting to reuse disposed layers

tvolkert opened this issue · comments

Since flutter/flutter#85798, Rollup is triggering the following assertion:

======== Exception caught by rendering library =====================================================
The following assertion was thrown during paint():
Attempted to create a handle to an already disposed layer: ClipRectLayer#2aefa(handles: 0, clipRect: Rect.fromLTRB(6.0, 22.0, 699.0, 242.0), clipBehavior: Clip.hardEdge).
'package:flutter/src/rendering/layer.dart':
Failed assertion: line 620 pos 7: 'layer?.debugDisposed != true'


Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

The relevant error-causing widget was: 
  _RevealBox _RevealBox:file:///Users/tvolkert/project/tvolkert/chicago/lib/src/rollup.dart:204:11
When the exception was thrown, this was the stack: 
#2      LayerHandle.layer= (package:flutter/src/rendering/layer.dart:620:7)
#3      ContainerLayer.append (package:flutter/src/rendering/layer.dart:1042:25)
#4      PaintingContext.appendLayer (package:flutter/src/rendering/object.dart:237:21)
#5      PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:395:5)
#6      PaintingContext.pushClipRect (package:flutter/src/rendering/object.dart:454:7)
#7      _RenderRevealBox.paint (package:chicago/src/rollup.dart:278:30)
#8      RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#9      PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#10     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
#11     RenderFlex.paint (package:flutter/src/rendering/flex.dart:1078:7)
#12     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#13     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#14     RenderBoxPane.paint (package:chicago/src/box_pane.dart:349:17)
#15     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#16     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#17     RenderScrollPane._paintChildren.<anonymous closure> (package:chicago/src/scroll_pane.dart:1769:19)
#18     ClipContext._clipAndPaint (package:flutter/src/painting/clip.dart:30:12)
#19     ClipContext.clipRectAndPaint (package:flutter/src/painting/clip.dart:58:5)
#20     RenderScrollPane._paintChildren (package:chicago/src/scroll_pane.dart:1768:17)
#21     PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:398:12)
#22     PaintingContext.pushClipRect (package:flutter/src/rendering/object.dart:454:7)
#23     RenderScrollPane.paint (package:chicago/src/scroll_pane.dart:1748:13)
#24     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#25     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
#26     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#27     PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:979:29)
#28     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:455:19)
#29     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13)
#30     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:319:5)
#31     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#32     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
#33     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5)
#37     _invoke (dart:ui/hooks.dart:164:10)
#38     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:262:5)
#39     _drawFrame (dart:ui/hooks.dart:127:31)
(elided 5 frames from class _AssertionError and dart:async)
The following RenderObject was being processed when the exception was fired: _RenderRevealBox#9f570 relayoutBoundary=up3
...  needs compositing
...  parentData: offset=Offset(0.0, 16.0); flex=null; fit=null (can use size)
...  constraints: BoxConstraints(unconstrained)
...  size: Size(693.0, 220.0)
RenderObject: _RenderRevealBox#9f570 relayoutBoundary=up3
  needs compositing
  parentData: offset=Offset(0.0, 16.0); flex=null; fit=null (can use size)
  constraints: BoxConstraints(unconstrained)
  size: Size(693.0, 220.0)
...  child: RenderPadding#1aac6 relayoutBoundary=up4 NEEDS-PAINT
...    needs compositing
...    parentData: <none> (can use size)
...    constraints: BoxConstraints(unconstrained)
...    size: Size(693.0, 220.0)
...    padding: EdgeInsets(0.0, 4.0, 0.0, 0.0)
...    textDirection: ltr
...    child: RenderFlex#69cd9 relayoutBoundary=up5 NEEDS-PAINT
...      needs compositing
...      parentData: offset=Offset(0.0, 4.0) (can use size)
...      constraints: BoxConstraints(unconstrained)
...      size: Size(693.0, 216.0)
...      direction: horizontal
...      mainAxisAlignment: start
...      mainAxisSize: min
...      crossAxisAlignment: center
...      textDirection: ltr
...      verticalDirection: down
...      child 1: RenderConstrainedBox#3eff2 relayoutBoundary=up6
...        parentData: offset=Offset(0.0, 108.0); flex=null; fit=null (can use size)
...        constraints: BoxConstraints(unconstrained)
...        size: Size(7.0, 0.0)
...        additionalConstraints: BoxConstraints(w=7.0, 0.0<=h<=Infinity)
...      child 2: RenderConstrainedBox#0cbdb relayoutBoundary=up6
...        parentData: offset=Offset(7.0, 108.0); flex=null; fit=null (can use size)
...        constraints: BoxConstraints(unconstrained)
...        size: Size(4.0, 0.0)
...        additionalConstraints: BoxConstraints(w=4.0, 0.0<=h<=Infinity)
...      child 3: RenderFlex#fc552 relayoutBoundary=up6 NEEDS-PAINT
...        needs compositing
...        parentData: offset=Offset(11.0, 0.0); flex=null; fit=null (can use size)
...        constraints: BoxConstraints(unconstrained)
...        size: Size(682.0, 216.0)
...        direction: horizontal
...        mainAxisAlignment: start
...        mainAxisSize: max
...        crossAxisAlignment: start
...        textDirection: ltr
...        verticalDirection: down
...        child 1: _RenderBorderLayout#0707b relayoutBoundary=up7 NEEDS-PAINT
...          needs compositing
...          parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(188.0, 180.0)
...        child 2: RenderConstrainedBox#49a52 relayoutBoundary=up7
...          parentData: offset=Offset(188.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(4.0, 0.0)
...          additionalConstraints: BoxConstraints(w=4.0, 0.0<=h<=Infinity)
...        child 3: _RenderBorderLayout#6a2c1 relayoutBoundary=up7
...          needs compositing
...          parentData: offset=Offset(192.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(165.0, 130.0)
...        child 4: RenderConstrainedBox#49e6f relayoutBoundary=up7
...          parentData: offset=Offset(357.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(4.0, 0.0)
...          additionalConstraints: BoxConstraints(w=4.0, 0.0<=h<=Infinity)
...        child 5: _RenderBorderLayout#f4143 relayoutBoundary=up7
...          needs compositing
...          parentData: offset=Offset(361.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(171.0, 216.0)
...        child 6: RenderConstrainedBox#fa98f relayoutBoundary=up7
...          parentData: offset=Offset(532.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(4.0, 0.0)
...          additionalConstraints: BoxConstraints(w=4.0, 0.0<=h<=Infinity)
...        child 7: _RenderBorderLayout#e2686 relayoutBoundary=up7
...          needs compositing
...          parentData: offset=Offset(536.0, 0.0); flex=null; fit=null (can use size)
...          constraints: BoxConstraints(unconstrained)
...          size: Size(146.0, 134.0)
====================================================================================================

Observed at 14b1e5e