Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
DaveShuckerow opened this issue Apr 11, 2018 · 4 comments
Closed
Labels
a: internationalization Supporting other languages or locales. (aka i18n) customer: mulligan (g3)

Comments

@DaveShuckerow
Copy link
Contributor

DaveShuckerow commented Apr 11, 2018

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.

@DaveShuckerow
Copy link
Contributor Author

@gspencergoog Do you know anything that might cause an animation to break when changing a Chip's delete tooltip?

@gspencergoog
Copy link
Contributor

Well, there's currently a bug in the AnimatedChildSwitcher, for which I have a PR that is almost ready for merging: #16250

That could cause this sort of failure, but I'd have to look at the source for the test.

@Hixie Hixie added a: internationalization Supporting other languages or locales. (aka i18n) and removed prod: l10n labels Apr 23, 2018
@gspencergoog
Copy link
Contributor

I believe this is fixed, since the AnimatedChildSwitcher fix in #16250 landed.

@github-actions
Copy link

github-actions bot commented Sep 3, 2021

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: internationalization Supporting other languages or locales. (aka i18n) customer: mulligan (g3)
Projects
None yet
Development

No branches or pull requests

3 participants