Skip to content

Exception on ExpansionPanel toggle due to Duplicate Global Keys #13780

@Monotoba

Description

@Monotoba

This most likely is me doing something wrong. However, I thought I had this working... I get this error when trying to add a column with content to an ExpansionPanel. The error only occurs at runtime when I try to expand more than one panel at a time. The app is a simple one inspired by the holidays. It is a simple Holiday Shopping List. It contains an image and text in the top 40% of the page. In the remaining 60% or so, it contains a ListView with a Container ->Column>Row->Columns. The app is laid out as a dynamically generated list of Giftees (people we are shopping for), each contains a sub-list of gifts (gift we may purchase. I want to embed an few IconButtons but the Panel header can't handle that. It runs out of room. So I removed them.

If you need the code for this. let me know.

[+12406 ms] I/flutter (23691): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
[   +4 ms] I/flutter (23691): The following assertion was thrown building ExpansionPanelList:
[        ] I/flutter (23691): 'package:flutter/src/material/mergeable_material.dart': Failed assertion: line 441: '_children[j] is
[        ] I/flutter (23691): MaterialGap': is not true.
[  +12 ms] I/flutter (23691):
[        ] I/flutter (23691): Either the assertion indicates an error in the framework itself, or we should provide substantially
[        ] I/flutter (23691): more information in this error message to help you determine and fix the underlying cause.
[        ] I/flutter (23691): In either case, please report this assertion by filing a bug on GitHub:
[        ] I/flutter (23691):   https://github.com/flutter/flutter/issues/new
[        ] I/flutter (23691):
[        ] I/flutter (23691): When the exception was thrown, this was the stack:
[  +10 ms] I/flutter (23691): #2      _MergeableMaterialState.didUpdateWidget (package:flutter/src/material/mergeable_material.dart:441)
[        ] I/flutter (23691): #3      StatefulElement.update (package:flutter/src/widgets/framework.dart:3677)
[        ] I/flutter (23691): #4      Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #5      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #6      Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #7      StatelessElement.update (package:flutter/src/widgets/framework.dart:3606)
[        ] I/flutter (23691): #8      Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #9      SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #10     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #11     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #12     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #14     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #15     StatelessElement.update (package:flutter/src/widgets/framework.dart:3606)
[        ] I/flutter (23691): #16     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #17     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #18     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #19     ProxyElement.update (package:flutter/src/widgets/framework.dart:3791)
[        ] I/flutter (23691): #20     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #22     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #23     StatefulElement.update (package:flutter/src/widgets/framework.dart:3681)
[        ] I/flutter (23691): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #25     SliverMultiBoxAdaptorElement.performRebuild (package:flutter/src/widgets/sliver.dart:696)
[        ] I/flutter (23691): #26     SliverMultiBoxAdaptorElement.update (package:flutter/src/widgets/sliver.dart:665)
[        ] I/flutter (23691): #27     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #28     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #29     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #30     ProxyElement.update (package:flutter/src/widgets/framework.dart:3791)
[        ] I/flutter (23691): #31     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #32     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #33     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #34     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4261)
[        ] I/flutter (23691): #35     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4647)
[        ] I/flutter (23691): #36     _ViewportElement.update (package:flutter/src/widgets/viewport.dart:182)
[        ] I/flutter (23691): #37     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #39     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #40     ProxyElement.update (package:flutter/src/widgets/framework.dart:3791)
[        ] I/flutter (23691): #41     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #42     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #43     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #44     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #45     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #46     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #47     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #48     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #49     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #50     StatefulElement.update (package:flutter/src/widgets/framework.dart:3681)
[        ] I/flutter (23691): #51     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #52     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #53     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #54     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #55     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #56     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4539)
[        ] I/flutter (23691): #57     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #58     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[   +1 ms] I/flutter (23691): #59     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #60     StatelessElement.update (package:flutter/src/widgets/framework.dart:3606)
[        ] I/flutter (23691): #61     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #63     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #64     StatefulElement.update (package:flutter/src/widgets/framework.dart:3681)
[        ] I/flutter (23691): #65     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #66     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #67     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #68     StatefulElement.update (package:flutter/src/widgets/framework.dart:3681)
[        ] I/flutter (23691): #69     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #70     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #71     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #72     ProxyElement.update (package:flutter/src/widgets/framework.dart:3791)
[        ] I/flutter (23691): #73     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #75     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #76     StatelessElement.update (package:flutter/src/widgets/framework.dart:3606)
[        ] I/flutter (23691): #77     Element.updateChild (package:flutter/src/widgets/framework.dart:2649)
[        ] I/flutter (23691): #78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3556)
[        ] I/flutter (23691): #79     Element.rebuild (package:flutter/src/widgets/framework.dart:3445)
[        ] I/flutter (23691): #80     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2193)
[   +2 ms] I/flutter (23691): #81     BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:611)
[        ] I/flutter (23691): #82     BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:203)
[        ] I/flutter (23691): #83     BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:916)
[        ] I/flutter (23691): #84     BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:856)
[        ] I/flutter (23691): #85     BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:768)
[        ] I/flutter (23691): #86     _invoke (file:///b/build/slave/Linux_Engine/build/src/flutter/lib/ui/hooks.dart:113)
[        ] I/flutter (23691): #87     _drawFrame (file:///b/build/slave/Linux_Engine/build/src/flutter/lib/ui/hooks.dart:102)
[   +5 ms] I/flutter (23691): (elided 2 frames from class _AssertionError)
[        ] I/flutter (23691): ════════════════════════════════════════════════════════════════════════════════════════════════════

Steps to Reproduce

Please tell us what you were doing and what went wrong. If you are running flutter tools from the command line, please try adding the -v or --verbose option to gather more information.

If the problem is with your application's rendering, please attach a screenshot and any relevant source code.
If you are getting an exception in the logs, and your code is implicated in the first few frames, then please include the source code for the functions involved.

Logs

Run your application with flutter run and attach all the log output.

Run flutter analyze and attach any output of that command also.

dev:~/projects/flutter/holiday_shoping_list$ flutter analyze
Analyzing /home/projects/flutter/holiday_shoping_list...
No issues found!Ran in 4.9s

Flutter Doctor

Paste the output of running flutter doctor here.

$ flutter doctor[✓] Flutter (on Linux, locale en_US.UTF-8, channel alpha)
    • Flutter at /home/randy/flutter    • Framework revision 8f65fec5f5 (2 weeks ago), 2017-12-12 09:50:14 -0800
    • Engine revision edaecdc8b8    • Tools Dart version 1.25.0-dev.11.0
    • Engine Dart version 2.0.0-edge.d8ae797298c3a6cf8dc9f4558707bd2672224d3e
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.1)
    • Android SDK at /home/randy/Android/Sdk
    • Android NDK at /home/randy/Android/Sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.1
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[✓] Android Studio (version 3.0)
    • Android Studio at /opt/android-studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[-] IntelliJ IDEA Community Edition (version 15)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins
    ✗ This install is older than the minimum recommended version of 2017.1.0.

[-] IntelliJ IDEA Community Edition (version 13)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins
    ✗ This install is older than the minimum recommended version of 2017.1.0.

[✓] IntelliJ IDEA Community Edition (version 2017.2)
    • Flutter plugin version 19.1
    • Dart plugin version 172.4343.25

[✓] Connected devices
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator)

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: crashStack traces logged to the consolef: material designflutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions