This repository was archived by the owner on Sep 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
This repository was archived by the owner on Sep 9, 2024. It is now read-only.
rounded_expansion_tile throw two errors -> Duplicate GlobalKey detected in widget tree. and -> _RoundedExpansionTileState#71106(tickers: tracking 2 tickers) was disposed with an active Ticker. #1
Copy link
Copy link
Open
Description
I'm using rounded_expansion_tile: ^0.0.13 and when i use it following error is throw.
======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
_RoundedExpansionTileState#71106(tickers: tracking 2 tickers) was disposed with an active Ticker.
_RoundedExpansionTileState created a Ticker via its TickerProviderStateMixin, but at the time dispose() was called on the mixin, that Ticker was still active. All Tickers must be disposed before calling super.dispose().
Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.
The offending ticker was: _WidgetTicker(created by _RoundedExpansionTileState#71106(lifecycle state: created, tickers: tracking 0 tickers))
The stack trace when the _WidgetTicker was actually created was:
#0 new Ticker.<anonymous closure> (package:flutter/src/scheduler/ticker.dart:67:40)
#1 new Ticker (package:flutter/src/scheduler/ticker.dart:69:6)
#2 new _WidgetTicker (package:flutter/src/widgets/ticker_provider.dart:271:81)
#3 TickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:202:34)
#4 new AnimationController (package:flutter/src/animation/animation_controller.dart:247:21)
#5 _RoundedExpansionTileState.initState (package:rounded_expansion_tile/rounded_expansion_tile.dart:94:19)
#6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4711:57)
#7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4548:5)
... Normal element mounting (87 frames)
#94 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
#95 Element.updateChild (package:flutter/src/widgets/framework.dart:3363:18)
#96 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1241:37)
#97 SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1226:20)
#98 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2535:19)
#99 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1219:12)
#100 RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:349:23)
#101 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1889:59)
#102 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:912:15)
#103 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1889:14)
#104 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:338:5)
#105 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:422:5)
#106 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:79:12)
#107 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#108 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:137:12)
#109 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:371:11)
#110 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#111 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:510:13)
#112 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1574:12)
#113 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1483:20)
#114 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#115 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#116 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#117 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#118 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#119 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#120 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#121 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#122 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#123 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#124 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#125 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#126 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#127 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#128 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#129 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#130 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:545:11)
#131 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#132 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#133 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#134 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:233:12)
#135 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#136 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:54:11)
#137 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:896:45)
#138 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:931:32)
#139 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#140 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:54:11)
#141 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:570:43)
#142 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:597:12)
#143 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#144 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#145 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:937:7)
#146 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
#147 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
#148 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#149 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#150 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#151 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#152 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1369:11)
#153 RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#154 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:233:12)
#155 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1636:7)
#156 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:881:18)
#157 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:462:19)
#158 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:876:13)
#159 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5)
#160 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#161 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
#162 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998:5)
#166 _invoke (dart:ui/hooks.dart:163:10)
#167 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5)
#168 _drawFrame (dart:ui/hooks.dart:126:31)
(elided 3 frames from dart:async)
When the exception was thrown, this was the stack:
#0 TickerProviderStateMixin.dispose.<anonymous closure> (package:flutter/src/widgets/ticker_provider.dart:219:13)
#1 TickerProviderStateMixin.dispose (package:flutter/src/widgets/ticker_provider.dart:237:6)
#2 _RoundedExpansionTileState.dispose (package:rounded_expansion_tile/rounded_expansion_tile.dart:109:11)
#3 StatefulElement.unmount (package:flutter/src/widgets/framework.dart:4800:11)
#4 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1847:13)
...
====================================================================================================
and
======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
Duplicate GlobalKey detected in widget tree.
The following GlobalKey was specified multiple times in the widget tree. This will lead to parts of the widget tree being truncated unexpectedly, because the second time a key is seen, the previous instance is moved to the new location. The key was:
- [LabeledGlobalKey<FormState>#45a8a]
This was determined by noticing that after the widget with the above global key was moved out of its previous parent, that previous parent never updated during this frame, meaning that it either did not update at all or updated before the widget was moved, in either case implying that it still thinks that it should have a child with that global key.
The specific parent that did not update after having one or more children forcibly removed due to GlobalKey reparenting is:
- Column(direction: vertical, mainAxisAlignment: start, crossAxisAlignment: center, renderObject: RenderFlex#73af2 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-COMPOSITING-BITS-UPDATE DETACHED)
A GlobalKey can only be specified on one widget at a time in the widget tree.
When the exception was thrown, this was the stack:
#0 BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:2900:15)
#1 BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:2925:8)
#2 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:877:19)
#3 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5)
#4 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
...
====================================================================================================
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels