koukibadr / Cherry-Toast

https://pub.dev/packages/cherry_toast
MIT License
21 stars 14 forks source link

_CherryToastState#8b2b7(tickers: tracking 1 ticker) was disposed with an active Ticker #66

Closed kroniz-utab closed 5 months ago

kroniz-utab commented 6 months ago

Hello! great plugin team! but currently i found some bug that say

════════ Exception caught by widgets library ═══════════════════════════════════
The following assertion was thrown while finalizing the widget tree:
_CherryToastState#8b2b7(tickers: tracking 1 ticker) was disposed with an active Ticker.
_CherryToastState 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 _CherryToastState#8b2b7)
The stack trace when the _WidgetTicker was actually created was:
#0      new Ticker.<anonymous closure> (package:flutter/src/scheduler/ticker.dart:71:40)
#1      new Ticker (package:flutter/src/scheduler/ticker.dart:73:6)
#2      new _WidgetTicker (package:flutter/src/widgets/ticker_provider.dart)
#3      TickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:296:34)
#4      new AnimationController (package:flutter/src/animation/animation_controller.dart:247:21)
#5      _CherryToastState.initAnimation (package:cherry_toast/cherry_toast.dart:397:23)
#6      _CherryToastState.initState (package:cherry_toast/cherry_toast.dart:360:7)
#7      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5602:55)
#8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5447:5)
...     Normal element mounting (19 frames)
#27     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16)
#28     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6871:36)
#29     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6883:32)
...     Normal element mounting (136 frames)
#165    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16)
#166    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6871:36)
#167    Element.updateChild (package:flutter/src/widgets/framework.dart:3837:18)
#168    Element.updateChildren (package:flutter/src/widgets/framework.dart:4024:32)
#169    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6896:17)
#170    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#171    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#172    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11)
#173    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#174    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2895:19)
#175    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:984:21)
#176    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#177    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#178    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#179    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1113:5)
#180    _invoke (dart:ui/hooks.dart:312:13)
#181    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:383:5)
#182    _drawFrame (dart:ui/hooks.dart:283:31)

When the exception was thrown, this was the stack:

so far, my aplication not crash and cherry toast still pop up, but i dont know why this exception was raised

thankyou team!

koukibadr commented 6 months ago

I just published a new version fixing this bug https://pub.dev/packages/cherry_toast

@kroniz-utab feel free to close this issue