-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
Is there an existing issue for this?
- I have searched the existing issues
- I have read the guide to filing a bug
Steps to reproduce
I have a widget that creates a button bar in the overlay, with flutter 3.10.x it works fine. When built with flutter 3.13 the following exception is thrown when the mouse hovers over any of the buttons in the button bar.
Updated layout information required for RenderFollowerLayer#d5060 relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT to calculate semantics.
The app then gets in a infinite loop spewing exceptions and is completely unresponsive.
This happens on desktop Linux and web (chrome on Linux)
I did confirm that downgrading flutter to 3.10.6 and running sample code works correctly.
Expected results
expect the tooltip to be shown when mouse is over button
Actual results
exception is thrown and overlay entry disappears
Code sample
Code sample
[code.zip](https://github.com/flutter/flutter/files/12464004/code.zip)
Screenshots or Video
No response
Logs
Logs
here is the full trace
═══════ Exception caught by scheduler library ═════════════════════════════════
The following assertion was thrown during a scheduler callback:
Updated layout information required for RenderFollowerLayer#d5060 relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT to calculate semantics.
'package:flutter/src/rendering/object.dart':
object.dart:1
Failed assertion: line 3567 pos 12: '!_needsLayout'
2
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?template=2_bug.yml
When the exception was thrown, this was the stack
#2 RenderObject._getSemanticsForParent
object.dart:3567
#3 RenderObject._getSemanticsForParent.
object.dart:3583
#4 _RenderTheater.visitChildrenForSemantics
overlay.dart:1151
#5 RenderObject._getSemanticsForParent
object.dart:3581
#6 RenderObject._getSemanticsForParent.
object.dart:3583
#7 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#8 RenderObject.visitChildrenForSemantics
object.dart:3724
#9 RenderAbsorbPointer.visitChildrenForSemantics
proxy_box.dart:3864
#10 RenderObject._getSemanticsForParent
object.dart:3581
#11 RenderObject._getSemanticsForParent.
object.dart:3583
#12 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#13 RenderObject.visitChildrenForSemantics
object.dart:3724
#14 RenderObject._getSemanticsForParent
object.dart:3581
#15 RenderObject._getSemanticsForParent.
object.dart:3583
#16 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#17 RenderObject.visitChildrenForSemantics
object.dart:3724
#18 RenderSemanticsAnnotations.visitChildrenForSemantics
proxy_box.dart:4284
#19 RenderObject._getSemanticsForParent
object.dart:3581
#20 RenderObject._getSemanticsForParent.
object.dart:3583
#21 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#22 RenderObject.visitChildrenForSemantics
object.dart:3724
#23 RenderObject._getSemanticsForParent
object.dart:3581
#24 RenderObject._getSemanticsForParent.
object.dart:3583
#25 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#26 RenderObject.visitChildrenForSemantics
object.dart:3724
#27 RenderSemanticsAnnotations.visitChildrenForSemantics
proxy_box.dart:4284
#28 RenderObject._getSemanticsForParent
object.dart:3581
#29 RenderObject._getSemanticsForParent.
object.dart:3583
#30 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#31 RenderObject.visitChildrenForSemantics
object.dart:3724
#32 RenderSemanticsAnnotations.visitChildrenForSemantics
proxy_box.dart:4284
#33 RenderObject._getSemanticsForParent
object.dart:3581
#34 RenderObject._getSemanticsForParent.
object.dart:3583
#35 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#36 RenderObject.visitChildrenForSemantics
object.dart:3724
#37 RenderObject._getSemanticsForParent
object.dart:3581
#38 RenderObject._getSemanticsForParent.
object.dart:3583
#39 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#40 RenderObject.visitChildrenForSemantics
object.dart:3724
#41 RenderSemanticsAnnotations.visitChildrenForSemantics
proxy_box.dart:4284
#42 RenderObject._getSemanticsForParent
object.dart:3581
#43 RenderObject._getSemanticsForParent.
object.dart:3583
#44 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#45 RenderObject.visitChildrenForSemantics
object.dart:3724
#46 RenderSemanticsAnnotations.visitChildrenForSemantics
proxy_box.dart:4284
#47 RenderObject._getSemanticsForParent
object.dart:3581
#48 RenderObject._getSemanticsForParent.
object.dart:3583
#49 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#50 RenderObject.visitChildrenForSemantics
object.dart:3724
#51 RenderSemanticsAnnotations.visitChildrenForSemantics
proxy_box.dart:4284
#52 RenderObject._getSemanticsForParent
object.dart:3581
#53 RenderObject._getSemanticsForParent.
object.dart:3583
#54 RenderObjectWithChildMixin.visitChildren
object.dart:4000
#55 RenderObject.visitChildrenForSemantics
object.dart:3724
#56 RenderObject._getSemanticsForParent
object.dart:3581
#57 RenderObject._updateSemantics
object.dart:3533
#58 PipelineOwner.flushSemantics
object.dart:1265
#59 RendererBinding.drawFrame
binding.dart:499
#60 WidgetsBinding.drawFrame
binding.dart:918
#61 RendererBinding._handlePersistentFrameCallback
binding.dart:360
#62 SchedulerBinding._invokeFrameCallback
binding.dart:1297
#63 SchedulerBinding.handleDrawFrame
binding.dart:1227
#64 SchedulerBinding._handleDrawFrame
binding.dart:1085
#65 _invoke (dart:ui/hooks.dart:170:13)
#66 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:401:5)
#67 _drawFrame (dart:ui/hooks.dart:140:31)
(elided 2 frames from class _AssertionError)
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by gestures library ══════════════════════════════════
Cannot hit test a render box that has never been laid out.
════════════════════════════════════════════════════════════════════════════════
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.13.1, on Fedora Linux 38 (Thirty Eight) 6.4.6-200.fc38.x86_64, locale en_US.UTF-8)
• Flutter version 3.13.1 on channel stable at /server/home/csh/lib/flutter3
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision e1e47221e8 (6 days ago), 2023-08-22 21:43:18 -0700
• Engine revision b20183e040
• Dart version 3.1.0
• DevTools version 2.25.0
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /home/csh/Android/Sdk
• Platform android-33, build-tools 33.0.0
• Java binary at: /server/home/csh/lib/android-studio/jbr/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop
• clang version 16.0.6 (Fedora 16.0.6-2.fc38)
• cmake version 3.27.2
• ninja version 1.11.1
• pkg-config version 1.8.0
[✓] Android Studio (version 2022.3)
• Android Studio at /server/home/csh/lib/android-studio
• Flutter plugin version 75.1.2
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
[✓] VS Code (version 1.81.1)
• VS Code at /usr/share/code
• Flutter extension version 3.70.0
[✓] Connected device (3 available)
• sdk gphone x86 64 (mobile) • emulator-5554 • android-x64 • Android 13 (API 33) (emulator)
• Linux (desktop) • linux • linux-x64 • Fedora Linux 38 (Thirty Eight) 6.4.6-200.fc38.x86_64
• Chrome (web) • chrome • web-javascript • Google Chrome 116.0.5845.96
[✓] Network resources
• All expected network resources are available.
• No issues found!