-
Notifications
You must be signed in to change notification settings - Fork 29.3k
Closed
Labels
a: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkc: API breakBackwards-incompatible API changesBackwards-incompatible API changesc: crashStack traces logged to the consoleStack traces logged to the consolecustomer: octopodcustomer: wednesdayHump day Q&AHump day Q&Aframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.waiting for PR to land (fixed)A fix is in flightA fix is in flight
Milestone
Description
The test at https://gist.github.com/krisgiesing/afd4c3bd82458f8eeba847fe2cc7b08d appears to be legal. However, running it throws the following exception:
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building _Stateful-[GlobalKey#bdeee 2](state:
_StatefulState#6790b):
Multiple widgets used the same GlobalKey [GlobalObjectKey String#77ca8].
The key [GlobalObjectKey String#77ca8] was used by multiple widgets. The parents of those widgets
were:
- _Stateful-[GlobalKey#e2abd 1](state: _StatefulState#5e00d)
- _Stateful-[GlobalKey#bdeee 2](state: _StatefulState#6790b)
A GlobalKey can only be specified on one widget at a time in the widget tree.
Widget creation tracking is currently disabled. Enabling it enables improved error messages. It can
be enabled by passing `--track-widget-creation` to `flutter run` or `flutter test`.
When the exception was thrown, this was the stack:
#0 GlobalKey._debugReserveFor.<anonymous closure> (package:flutter/src/widgets/framework.dart:189:11)
#1 GlobalKey._debugReserveFor (package:flutter/src/widgets/framework.dart:212:6)
#2 Element.updateChild.<anonymous closure> (package:flutter/src/widgets/framework.dart:2905:13)
#3 Element.updateChild (package:flutter/src/widgets/framework.dart:2909:6)
#4 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4016:16)
#5 Element.rebuild (package:flutter/src/widgets/framework.dart:3793:5)
#6 StatefulElement.update (package:flutter/src/widgets/framework.dart:4181:5)
#7 Element.updateChild (package:flutter/src/widgets/framework.dart:2926:15)
#8 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5210:14)
#9 Element.updateChild (package:flutter/src/widgets/framework.dart:2926:15)
#10 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4919:32)
#11 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5319:17)
#12 Element.updateChild (package:flutter/src/widgets/framework.dart:2926:15)
#13 _LayoutBuilderElement._layout.<anonymous closure> (package:flutter/src/widgets/layout_builder.dart:115:18)
#14 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2355:19)
#15 _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:95:11)
#16 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1815:58)
#17 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:875:15)
#18 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1815:13)
#19 RenderConstrainedLayoutBuilder.layoutAndBuildChild (package:flutter/src/widgets/layout_builder.dart:173:5)
#20 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:240:5)
#21 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1584:7)
#22 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:844:18)
#23 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:974:23)
#24 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:279:5)
#25 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1043:15)
#26 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:982:9)
#27 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:869:9)
#30 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:69:41)
#31 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:856:27)
#32 WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:320:22)
#35 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:69:41)
#36 WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:317:27)
#37 main.<anonymous closure>.<anonymous closure> (file:///Users/kgiesing/Code/turquoise/flutter/packages/flutter/test/material/key_test.dart:62:20)
#51 AutomatedTestWidgetsFlutterBinding.runTest.<anonymous closure> (package:flutter_test/src/binding.dart:1063:17)
#53 AutomatedTestWidgetsFlutterBinding.runTest.<anonymous closure> (package:flutter_test/src/binding.dart:1051:35)
(elided 33 frames from class _FakeAsync, package dart:async, package dart:async-patch, and package stack_trace)
slightfoot and mtcliatt
Metadata
Metadata
Assignees
Labels
a: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkc: API breakBackwards-incompatible API changesBackwards-incompatible API changesc: crashStack traces logged to the consoleStack traces logged to the consolecustomer: octopodcustomer: wednesdayHump day Q&AHump day Q&Aframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.waiting for PR to land (fixed)A fix is in flightA fix is in flight