Skip to content
This repository was archived by the owner on Sep 9, 2024. It is now read-only.
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

@ankushmishra2903-official

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)
...
====================================================================================================

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions