auto_route_library
auto_route_library copied to clipboard
Throw error: 'setState() or markNeedsBuild() called during build.'
Ref: 955cad85d63778c24340bbd50aff01dfeaa12f6f
Throw error when click Collect user data:
======== Exception caught by foundation library ====================================================
The following assertion was thrown while dispatching notifications for AutoRouterDelegate:
setState() or markNeedsBuild() called during build.
This Router<Object> widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
The widget on which setState() or markNeedsBuild() was called was: Router<Object>
dependencies: [UnmanagedRestorationScope]
state: _RouterState<Object>#b966d
The widget which was currently being built when the offending call was made was: HeroControllerScope
When the exception was thrown, this was the stack:
#0 Element.markNeedsBuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:4305:11)
#1 Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:4320:6)
#2 State.setState (package:flutter/src/widgets/framework.dart:1108:15)
#3 _RouterState._handleRouterDelegateNotification (package:flutter/src/widgets/router.dart:717:5)
#4 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:308:24)
#5 AutoRouterDelegate._handleRebuild (package:auto_route/src/router/controller/auto_router_delegate.dart:120:5)
#6 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:308:24)
#7 NavigationHistory._onNewUrlState (package:auto_route/src/router/controller/navigation_history.dart:26:7)
#8 NativeNavigationHistory._onNewUrlState (package:auto_route/src/router/controller/navigation_history.dart:120:11)
#9 StackRouter.updateDeclarativeRoutes (package:auto_route/src/router/controller/routing_controller.dart:954:23)
#10 _AutoRouteNavigatorState._updateDeclarativeRoutes (package:auto_route/src/router/widgets/auto_route_navigator.dart:46:21)
#11 _AutoRouteNavigatorState.didChangeDependencies (package:auto_route/src/router/widgets/auto_route_navigator.dart:37:7)
#12 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4826:11)
#13 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4638:5)
... Normal element mounting (39 frames)
#52 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3673:14)
#53 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6333:36)
#54 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6344:32)
... Normal element mounting (93 frames)
#147 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3673:14)
#148 Element.updateChild (package:flutter/src/widgets/framework.dart:3425:18)
#149 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#150 _InheritedProviderScopeElement.performRebuild (package:provider/src/inherited_provider.dart:456:11)
#151 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#152 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4643:5)
#153 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4638:5)
#154 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:356:11)
... Normal element mounting (7 frames)
#161 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
... Normal element mounting (30 frames)
#191 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3673:14)
#192 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6333:36)
#193 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6344:32)
... Normal element mounting (173 frames)
#366 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3673:14)
#367 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6333:36)
#368 Element.updateChild (package:flutter/src/widgets/framework.dart:3425:18)
#369 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5758:32)
#370 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6356:17)
#371 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#372 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#373 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
#374 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#375 StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
#376 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#377 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#378 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#379 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#380 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#381 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#382 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#383 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#384 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:181:11)
#385 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#386 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
#387 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#388 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#389 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
#390 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#391 StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
#392 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#393 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
#394 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#395 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
#396 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#397 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#398 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#399 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#400 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#401 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#402 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
#403 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#404 StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
#405 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#406 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#407 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
#408 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#409 StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
#410 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#411 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#412 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#413 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#414 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#415 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#416 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#417 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#418 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#419 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#420 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
#421 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#422 StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
#423 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#424 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#425 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#426 StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
#427 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#428 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#429 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#430 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#431 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#432 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#433 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#434 ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
#435 Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
#436 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
#437 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
#438 Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
#439 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2620:33)
#440 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:882:21)
#441 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:319:5)
#442 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#443 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
#444 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5)
#448 _invoke (dart:ui/hooks.dart:166:10)
#449 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:270:5)
#450 _drawFrame (dart:ui/hooks.dart:129:31)
(elided 3 frames from dart:async)
The AutoRouterDelegate sending notification was: Instance of 'AutoRouterDelegate'
====================================================================================================
I'm having a similar issue, the bug seems to have been introduced in https://github.com/Milad-Akarie/auto_route_library/pull/833. Works fine with 3.1.2.
Yep, I'm also getting this issue with 3.1.3. This happens whenever my app initializes.
Restarted application in 3,442ms.
W/quarksoup.sofi(18166): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
════════ Exception caught by foundation library ════════════════════════════════
The following assertion was thrown while dispatching notifications for _DeclarativeAutoRouterDelegate:
setState() or markNeedsBuild() called during build.
This Router<Object> widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
The widget on which setState() or markNeedsBuild() was called was: Router<Object>
dependencies: [UnmanagedRestorationScope]
state: _RouterState<Object>#a41ab
The widget which was currently being built when the offending call was made was: StackRouterScope
When the exception was thrown, this was the stack
#0 Element.markNeedsBuild.<anonymous closure>
#1 Element.markNeedsBuild
#2 State.setState
#3 _RouterState._handleRouterDelegateNotification
#4 ChangeNotifier.notifyListeners
#5 AutoRouterDelegate._handleRebuild
#6 ChangeNotifier.notifyListeners
#7 NavigationHistory._onNewUrlState
#8 NativeNavigationHistory._onNewUrlState
#9 StackRouter.updateDeclarativeRoutes
#10 _AutoRouteNavigatorState._updateDeclarativeRoutes
#11 _AutoRouteNavigatorState.didChangeDependencies
#12 StatefulElement._firstBuild
#13 ComponentElement.mount
... Normal element mounting (360 frames)
#373 Element.inflateWidget
#374 Element.updateChild
#375 ComponentElement.performRebuild
#376 _InheritedProviderScopeElement.performRebuild
#377 Element.rebuild
#378 ComponentElement._firstBuild
#379 ComponentElement.mount
#380 _InheritedProviderScopeElement.mount
... Normal element mounting (7 frames)
#387 SingleChildWidgetElementMixin.mount
... Normal element mounting (7 frames)
#394 _NestedHookElement.mount
#395 Element.inflateWidget
#396 Element.updateChild
#397 ComponentElement.performRebuild
#398 _InheritedProviderScopeElement.performRebuild
#399 Element.rebuild
#400 ComponentElement._firstBuild
#401 ComponentElement.mount
#402 _InheritedProviderScopeElement.mount
... Normal element mounting (7 frames)
#409 SingleChildWidgetElementMixin.mount
... Normal element mounting (7 frames)
#416 _NestedHookElement.mount
#417 Element.inflateWidget
#418 Element.updateChild
#419 ComponentElement.performRebuild
#420 _InheritedProviderScopeElement.performRebuild
#421 Element.rebuild
#422 ComponentElement._firstBuild
#423 ComponentElement.mount
#424 _InheritedProviderScopeElement.mount
... Normal element mounting (7 frames)
#431 SingleChildWidgetElementMixin.mount
... Normal element mounting (7 frames)
#438 _NestedHookElement.mount
#439 Element.inflateWidget
#440 Element.updateChild
#441 ComponentElement.performRebuild
#442 _InheritedProviderScopeElement.performRebuild
#443 Element.rebuild
#444 ComponentElement._firstBuild
#445 ComponentElement.mount
#446 _InheritedProviderScopeElement.mount
... Normal element mounting (7 frames)
#453 SingleChildWidgetElementMixin.mount
... Normal element mounting (7 frames)
#460 _NestedHookElement.mount
#461 Element.inflateWidget
#462 Element.updateChild
#463 ComponentElement.performRebuild
#464 _InheritedProviderScopeElement.performRebuild
#465 Element.rebuild
#466 ComponentElement._firstBuild
#467 ComponentElement.mount
#468 _InheritedProviderScopeElement.mount
... Normal element mounting (7 frames)
#475 SingleChildWidgetElementMixin.mount
... Normal element mounting (7 frames)
#482 _NestedHookElement.mount
... Normal element mounting (7 frames)
#489 SingleChildWidgetElementMixin.mount
... Normal element mounting (17 frames)
#506 Element.inflateWidget
#507 Element.updateChild
#508 RenderObjectToWidgetElement._rebuild
#509 RenderObjectToWidgetElement.mount
#510 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure>
#511 BuildOwner.buildScope
#512 RenderObjectToWidgetAdapter.attachToRenderTree
#513 WidgetsBinding.attachRootWidget
#514 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure>
(elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
The _DeclarativeAutoRouterDelegate sending notification was: Instance of '_DeclarativeAutoRouterDelegate'
════════════════════════════════════════════════════════════════════════════════
W/System (18166): Ignoring header X-Firebase-Locale because its value was null.
D/FirebaseAuth(18166): Notifying id token listeners about user ( J49bpLvm8UaJFxxGL9haGtPj9LF2 ).
════════ Exception caught by foundation library ════════════════════════════════
setState() or markNeedsBuild() called during build.
═══════════════════════════════════════════════════════════════════════════════
Hey @sososdk , @samu-developments,
Did either of you work out what was going on here? Taking a look now but my knowledge of the workings of this package is limited..
Do we know if this is a bug in the package or something else?
Cheers
I get the same with 3.1 an 3.0 but since a short while - perhaps some other library upgrade caused this.
I get the same with 3.1 an 3.0 but since a short while - perhaps some other library upgrade caused this.
Did u find out what library creates this error?
Same here.
Which version of Flutter do you use?
Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale en-GB) [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) [✓] Xcode - develop for iOS and macOS [✓] Chrome - develop for the web [✓] Android Studio (version 2020.3) [✓] VS Code (version 1.62.0) [✓] Connected device (2 available)
Am also on Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale en-GB).
Latest versions of Auto_route and its generator.
As per my comment in #873 I managed to get declarative routing to work with version auto_route: 3.1.2
and auto_route_generator: ^3.1.0
(Flutter 2.5.3)~~, but it currently breaks hot-reloading (nothing under MaterialApp is loaded after a hot-reload). I suspect that's what 3.1.3 was trying to solve (although I'm a new user, so I have no idea what worked and what didn't before all this)~~
Is there any update on when this will be fixed?
Dropping down to exact version 3.1.2
has stopped this error from happening for me. I am not noticing any hot-reload issues but will keep an eye out for anything weird. Looks like some bug in 3.1.3.
Same issue here in version 3.1.3
. Any soluction?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions