Sitelet https://github.com/flutter/flutter/issues/16453
Skip to content

Chip changes appear to have broken an l10n test in a pending g3 change #16453

Description

@DaveShuckerow

Steps to Reproduce

This was found in a presubmit test for a g3 change. More detail is available there.

The broken test was testing the value of a tooltip assigned to a Chip. The test was passing on April 3, but after the g3 roll of Flutter to d6d8744 on April 6, the test is failing. The failure seems to be comming from Chip's animation controllers, which I notice were changed substantially since the previous g3 roll (bffae21 on March 29).

Logs

══╡ EXCEPTION CAUGHT BY ANIMATION LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown while notifying status listeners for AnimationController:
'package:flutter/src/widgets/animated_child_switcher.dart': Failed assertion: line 107 pos 16:
'_children.contains(entry)': is not 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

When the exception was thrown, this was the stack:
#2      _AnimatedChildSwitcherState.addEntry.<anonymous closure> (package:flutter/src/widgets/animated_child_switcher.dart)
#3      _AnimationController&Animation&AnimationEagerListenerMixin&AnimationLocalListenersMixin&AnimationLocalStatusListenersMixin.notifyStatusListeners (package:flutter/src/animation/listener_helpers.dart:161:19)
#4      AnimationController._checkStatusChanged (package:flutter/src/animation/animation_controller.dart:531:7)
#5      AnimationController._animateToInternal (package:flutter/src/animation/animation_controller.dart:396:7)
#6      AnimationController.reverse (package:flutter/src/animation/animation_controller.dart:346:12)
#7      _AnimatedChildSwitcherState.addEntry (package:flutter/src/widgets/animated_child_switcher.dart:86:34)
#8      _AnimatedChildSwitcherState.build (package:flutter/src/widgets/animated_child_switcher.dart:131:7)
#9      StatefulElement.build (package:flutter/src/widgets/framework.dart:3713:27)
#10     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15)
#11     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#12     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#13     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#14     _RenderChipElement._updateChild (package:flutter/src/material/chip.dart:1566:30)
#15     _RenderChipElement.update (package:flutter/src/material/chip.dart:1583:5)
#16     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#17     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#19     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#22     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#23     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#24     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#26     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#27     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#28     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#29     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#31     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#32     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#33     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#34     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#35     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#36     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#37     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#39     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#41     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#42     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#43     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#44     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#45     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#46     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#47     ProxyElement.update (package:flutter/src/widgets/framework.dart:3892:5)
#48     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#49     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#50     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#51     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#52     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#53     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#54     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#55     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#56     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#57     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#59     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#60     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#61     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#62     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#63     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#65     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#66     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#67     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#68     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#69     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#70     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#72     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#73     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#74     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#75     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#76     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#77     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#78     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#79     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#80     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#81     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#82     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#83     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#84     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#85     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#86     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#87     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#88     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#89     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4362:32)
#90     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4752:17)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#92     _LayoutBuilderElement._layout.<anonymous closure> (package:flutter/src/widgets/layout_builder.dart:118:18)
#93     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2205:19)
#94     _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:107:11)
#95     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1666:58)
#96     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:740:15)
#97     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1666:13)
#98     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:205:5)
#99     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
#100    RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
#101    RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
#102    RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:381:13)
#103    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445:7)
#104    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:709:18)
#105    AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:613:23)
#106    _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&GestureBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
#107    _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
#108    _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
#109    AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:578:9)
#112    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:69:44)
#113    AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:566:27)
#114    WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:195:22)
#117    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:69:44)
#118    WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:192:27)
#119    _WidgetTestController.pumpWidget <SNIP>
The AnimationController notifying status listeners was:
  AnimationController#3e210(⏮ 0.000; paused)

Flutter Doctor

This was found after the roll of Flutter to d6d8744 in g3.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions