Skip to content

πŸ› Exception occurred when mouse moving from MenuBarItem to another MenuBarItem on ArchLinux systemΒ #1333

Description

@xiaoyaoshengy

Describe the bug
After click the MenuBarItem "File", move mouse from "File" to "Edit", exception occurred. There is the exception below.

# user @ user in /data/user/Projects/flutter/fluent_ui/example on git:master x [0:19:35] 
$ flutter run -d linux
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
Launching lib/main.dart on Linux in debug mode...
Building Linux application...                                           
βœ“ Built build/linux/x64/debug/bundle/example
Gdk-Message: 00:19:43.416: Unable to load  from the cursor theme
Syncing files to device Linux...                                    69ms

Flutter run key commands.
r Hot reload. πŸ”₯πŸ”₯πŸ”₯
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Linux is available at: http://127.0.0.1:37809/NSMencc1R4c=/
The Flutter DevTools debugger and profiler on Linux is available at: http://127.0.0.1:37809/NSMencc1R4c=/devtools/?uri=ws://127.0.0.1:37809/NSMencc1R4c=/ws
The icon button_a is not available in the current context. Please provide a fallback icon or use a different icon.
The icon chat_bubbles is not available in the current context. Please provide a fallback icon or use a different icon.
The icon text_navigate is not available in the current context. Please provide a fallback icon or use a different icon.
The icon surface_hub is not available in the current context. Please provide a fallback icon or use a different icon.
The icon text_edit is not available in the current context. Please provide a fallback icon or use a different icon.
Changed to 17

══║ EXCEPTION CAUGHT BY WIDGETS LIBRARY β•žβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
The following assertion was thrown building _FocusInheritedScope:
A RenderFlex was mutated in _RenderLayoutBuilder.performLayout.
The RenderObject was mutated when none of its ancestors is actively performing layout.
The RenderObject being mutated was:
  RenderFlex#cdee5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
The RenderObject that was mutating the said RenderFlex was:
  _RenderLayoutBuilder#ac8a0 NEEDS-LAYOUT

The relevant error-causing widget was:
  Visibility
  Visibility:file:///data/user/Projects/flutter/fluent_ui/lib/src/controls/flyouts/menu_bar.dart:245:33

When the exception was thrown, this was the stack:
#0      RenderObject._debugCanPerformMutations.<anonymous closure> (package:flutter/src/rendering/object.dart:2364:9)
#1      RenderObject._debugCanPerformMutations (package:flutter/src/rendering/object.dart:2428:6)
#2      RenderObject.markNeedsLayout (package:flutter/src/rendering/object.dart:2661:12)
#3      RenderBox.markNeedsLayout (package:flutter/src/rendering/box.dart:2860:11)
#4      RenderObject.dropChild (package:flutter/src/rendering/object.dart:2205:5)
#5      ContainerRenderObjectMixin.remove (package:flutter/src/rendering/object.dart:4554:5)
#6      MultiChildRenderObjectElement.removeRenderObjectChild (package:flutter/src/widgets/framework.dart:7215:18)
#7      RenderObjectElement.detachRenderObject (package:flutter/src/widgets/framework.dart:6952:37)
#8      Element.detachRenderObject.<anonymous closure> (package:flutter/src/widgets/framework.dart:4460:13)
#9      ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5871:14)
#10     Element.detachRenderObject (package:flutter/src/widgets/framework.dart:4459:5)
#11     Element.detachRenderObject.<anonymous closure> (package:flutter/src/widgets/framework.dart:4460:13)
#12     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5871:14)
#13     Element.detachRenderObject (package:flutter/src/widgets/framework.dart:4459:5)
#14     Element.detachRenderObject.<anonymous closure> (package:flutter/src/widgets/framework.dart:4460:13)
#15     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5871:14)
#16     Element.detachRenderObject (package:flutter/src/widgets/framework.dart:4459:5)
#17     Element.deactivateChild (package:flutter/src/widgets/framework.dart:4635:11)
#18     Element._retakeInactiveElement (package:flutter/src/widgets/framework.dart:4529:14)
#19     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4572:13)
#20     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7264:36)
#21     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#22     Element.updateChildren (package:flutter/src/widgets/framework.dart:4255:32)
#23     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7295:17)
#24     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#26     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#27     ProxyElement.update (package:flutter/src/widgets/framework.dart:6149:5)
#28     _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#31     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#32     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#33     StatefulElement.update (package:flutter/src/widgets/framework.dart:6007:5)
#34     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#35     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#36     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#37     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895:5)
#38     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#39     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122:14)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#41     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122:14)
#42     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#43     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#44     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#45     ProxyElement.update (package:flutter/src/widgets/framework.dart:6149:5)
#46     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#47     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#48     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#49     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895:5)
#50     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#51     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#52     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#53     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895:5)
#54     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#55     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#56     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#57     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#58     StatefulElement.update (package:flutter/src/widgets/framework.dart:6007:5)
#59     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#60     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122:14)
#61     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#62     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122:14)
#63     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#64     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122:14)
#65     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#66     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#67     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#68     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895:5)
#69     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#70     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122:14)
#71     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#72     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#73     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#74     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#75     BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15)
#76     BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11)
#77     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18)
#78     _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:270:12)
#79     RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:333:38)
#80     RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4302:33)
#81     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3026:17)
#82     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223:15)
#83     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3025:14)
#84     RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4302:5)
#85     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:447:5)
#86     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2755:7)
#87     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174:18)
#88     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187:15)
#89     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:643:23)
#90     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573:13)
#91     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509:5)
#92     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430:15)
#93     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345:9)
#94     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198:5)
#95     _invoke (dart:ui/hooks.dart:423:13)
#96     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447:5)
#97     _drawFrame (dart:ui/hooks.dart:395:31)

════════════════════════════════════════════════════════════════════════════════════════════════════

Another exception was thrown: Duplicate GlobalKey detected in widget tree.
Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 2168 pos 12: '_elements.contains(element)': is not true.
Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 6268 pos 12: '_dependents.isEmpty': is not true.

Application finished.

To Reproduce
Steps to reproduce the behavior:

  1. Run the example
  2. Go to 'Dialogs & flyouts'
  3. Click MenuBarItem "File", then move mouse to MenuBarItem "Edit"
  4. Exception occurred

Expected behavior
#1178 (comment)

Screenshots

record-2026-06-13_00-20-50.mp4

Additional context
System Information:

OS: Arch Linux x86_64
Kernel: Linux 7.0.11-zen1-1-zen
Shell: zsh 5.9.1
WM: niri 26.04 (Wayland)
Terminal: kitty 0.47.1

Flutter information:

Flutter 3.44.1 β€’ channel stable β€’ https://github.com/flutter/flutter.git
Framework β€’ revision 924134a44c (2 周前) β€’ 2026-05-29 12:13:22 -0400
Engine β€’ hash 39b1f7043775b9578bbb26a1676e79c4e31c8b5e (revision c416acfeb8) (15 days ago) β€’ 2026-05-27 20:19:31.000Z
Tools β€’ Dart 3.12.1 β€’ DevTools 2.57.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions