Repository navigation
PopupMenuButton asserts when rendering tooltip after navigating back using Cupertino tab layout #167359
Description
Activity
Acknowledge, I am taking this up.
Minimal reproducible code :-
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', debugShowCheckedModeBanner: false, home: MyHomePage(), ); } } class MyHomePage extends StatelessWidget { const MyHomePage({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( leading: Center( child: Tooltip(message: 'Hello', child: Text('World')), ), ), body: Center( child: TextButton( onPressed: () => Navigator.push( context, CupertinoPageRoute( builder: (context) => Scaffold( appBar: AppBar(title: Text('Second Page')), body: const Center(child: Text('Nothing to see here.')), ), ), ), child: const Text('Go to Second Page'), ), ), ); } }
Reacted by Mahesh Jamdade@MitchellGoodwin Since
CupertinoPageTransition.delegatedTransitionusesSlideTransitionit's harder for tooltip to get global position to show overlay. I think during transition tooltip should not be shown. WDYT ?One more thing: As I mentioned, in my sample code if you comment out the line that sets the tooltip to empty string, the assert goes away. HOWEVER, note that a bug still exists here: if you click on the popup menu very quickly while the transition is still happening, you get the hasSize assertion.
- addedin triagePresently being triaged by the triage teamPresently being triaged by the triage team
on Apr 18, 2025 @fredecodes Thanks for filing the issue and for pointing the commit that broke the PopUpMenuButton. I am able to reproduce this issue on the latest master channel.
On Navigation back the assetion error was thrown, the red assertion error is displayed for few milliseconds (run the video at 0.5x to see it)
Screen.Recording.2025-04-18.at.16.42.18.mov
logs
Performing hot restart... 256ms Restarted application in 256ms. ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ The following assertion was thrown building Builder(dirty): Assertion failed: file:///Users/mahesh/Development/flutter/packages/flutter/lib/src/rendering/box.dart:2251:12 hasSize "RenderBox was not laid out: RenderFractionalTranslation#6ad74 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE" The relevant error-causing widget was: Tooltip Tooltip:file:///Users/mahesh/Development/Triage/sample_app/lib/main.dart:28:32 When the exception was thrown, this was the stack: dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 307:3 throw_ dart-sdk/lib/_internal/js_dev_runtime/private/profile.dart 117:39 assertFailed packages/flutter/src/rendering/box.dart 2251:12 get size packages/flutter/src/rendering/proxy_box.dart 2974:47 applyPaintTransform Performing hot restart... 56ms Restarted application in 56ms. ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ The following assertion was thrown building Builder(dirty): Assertion failed: file:///Users/mahesh/Development/flutter/packages/flutter/lib/src/rendering/box.dart:2251:12 hasSize "RenderBox was not laid out: RenderFractionalTranslation#19559 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE" The relevant error-causing widget was: PopupMenuButton<String> PopupMenuButton:file:///Users/mahesh/Development/Triage/sample_app/lib/main.dart:34:18 When the exception was thrown, this was the stack: dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 307:3 throw_ dart-sdk/lib/_internal/js_dev_runtime/private/profile.dart 117:39 assertFailed packages/flutter/src/rendering/box.dart 2251:12 get size packages/flutter/src/rendering/proxy_box.dart 2974:47 applyPaintTransform packages/flutter/src/rendering/object.dart 3520:23 getTransformTo packages/flutter/src/rendering/box.dart 3082:39 localToGlobal packages/flutter/src/material/tooltip.dart 793:30 [_buildTooltipOverlay] packages/flutter/src/widgets/basic.dart 7818:48 build packages/flutter/src/widgets/framework.dart 5799:22 build packages/flutter/src/widgets/framework.dart 5733:15 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5805:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/overlay.dart 2210:21 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5805:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5805:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 4156:11 updateChildren packages/flutter/src/widgets/framework.dart 7211:17 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5805:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5805:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5805:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 4156:11 updateChildren packages/flutter/src/widgets/framework.dart 7211:17 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 7034:14 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 6059:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5892:11 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 5917:5 update packages/flutter/src/widgets/framework.dart 3998:14 updateChild packages/flutter/src/widgets/framework.dart 5756:16 performRebuild packages/flutter/src/widgets/framework.dart 5445:7 rebuild packages/flutter/src/widgets/framework.dart 2704:14 [_tryRebuild] packages/flutter/src/widgets/framework.dart 2762:11 [_flushDirtyElements] packages/flutter/src/widgets/framework.dart 3066:17 buildScope packages/flutter/src/widgets/binding.dart 1229:9 drawFrame packages/flutter/src/rendering/binding.dart 482:5 [_handlePersistentFrameCallback] packages/flutter/src/scheduler/binding.dart 1442:7 [_invokeFrameCallback] packages/flutter/src/scheduler/binding.dart 1355:9 handleDrawFrame packages/flutter/src/scheduler/binding.dart 1208:5 [_handleDrawFrame] lib/_engine/engine/platform_dispatcher.dart 1347:5 invoke lib/_engine/engine/platform_dispatcher.dart 301:5 invokeOnDrawFrame lib/_engine/engine/initialization.dart 190:36 <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/js_allow_interop_patch.dart 224:27 _callDartFunctionFast1 ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter doctor
[✓] Flutter (Channel master, 3.32.0-1.0.pre.90, on macOS 15.4 24E248 darwin-arm64, locale en-US) [31.4s] • Flutter version 3.32.0-1.0.pre.90 on channel master at /Users/mahesh/Development/flutter_master • Upstream repository https://github.com/flutter/flutter.git • Framework revision 29810cd6d1 (3 days ago), 2025-04-16 00:07:50 +0530 • Engine revision 29810cd6d1 • Dart version 3.8.0 (build 3.8.0-265.0.dev) • DevTools version 2.45.0-dev.0 [✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [4.5s] • Android SDK at /Users/mahesh/Library/Android/sdk • Platform android-35, build-tools 35.0.0 • ANDROID_HOME = /Users/mahesh/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java This is the JDK bundled with the latest Android Studio installation on this machine. To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`. • Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 16.3) [3.1s] • Xcode at /Applications/Xcode.app/Contents/Developer • Build 16E140 • CocoaPods version 1.16.2 [✓] Chrome - develop for the web [148ms] • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2024.3) [147ms] • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29) [✓] IntelliJ IDEA Community Edition (version 2021.2.1) [144ms] • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin version 61.2.4 • Dart plugin version 212.5080.8 [✓] VS Code (version 1.96.2) [18ms] • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.102.0 [✓] Connected device (2 available) [6.3s] • macOS (desktop) • macos • darwin-arm64 • macOS 15.4 24E248 darwin-arm64 • Chrome (web) • chrome • web-javascript • Google Chrome 131.0.6778.265 [✓] Network resources [365ms] • All expected network resources are available. • No issues found!@rkishan516 Thanks for the minimal reproduction
- addedframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.p: material_uimaterial_ui package in flutter/packagesmaterial_ui package in flutter/packageshas reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onteam-designOwned by Design Languages teamOwned by Design Languages teamfound in release: 3.32Found to occur in 3.32Found to occur in 3.32c: regressionIt was better in the past than it is nowIt was better in the past than it is nowa: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkand removedin triagePresently being triaged by the triage teamPresently being triaged by the triage team
on Apr 18, 2025 [@MitchellGoodwin
](https://github.com/MitchellGoodwin) Since
CupertinoPageTransition.delegatedTransitionusesSlideTransitionit's harder for tooltip to get global position to show overlay. I think during transition tooltip should not be shown. WDYT ?I'm guessing that it is getting its positioning based on that slide transition and renders in the top layer. Then when the transition is removed, it loses its scope on where it should be until a rebuild happens, causing the assert.
I think having the tooltip not show during a page transition makes sense. Visually I think it's odd to draw attention to text on the screen while it's in motion. It also looks like the tooltip appears immediately once the transition starts, not once the widget is visibly under the pointer, which is also odd.
Reacted by Kishan Rathore- addedP2Important issues not at the top of the work listImportant issues not at the top of the work listtriaged-designTriaged by Design Languages teamTriaged by Design Languages team
on Apr 23, 2025 - added a commit that references this issue
on Apr 30, 2025 - addedr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer version
on Apr 30, 2025 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 -vand a minimal reproduction of the issue.- locked as resolved and limited conversation to collaborators
on May 15, 2025 - added a commit that references this issue
on Aug 14, 2025
Steps to reproduce
Note 1: If you don't apply the aforementioned commit, you will instead crash when attempting to use the PopupMenu after navigation. That issue was fixed by the commit and that bug has been closed.
Note 2: If you set the tooltip for the PopupMenu to empty string, the assert does not occur (see commented out code in example)
Expected results
App doesn't crash/assert
Actual results
App asserts when rendering the tooltip for the PopupMenu. Top of call stack shown here:
_AssertionError._doThrowNew (flutter/bin/cache/pkg/sky_engine/lib/_internal/vm/lib/errors_patch.dart:63)
_AssertionError._throwNew (flutter/bin/cache/pkg/sky_engine/lib/_internal/vm/lib/errors_patch.dart:45)
RenderBox.size (flutter/packages/flutter/lib/src/rendering/box.dart:2251)
RenderFractionalTranslation.applyPaintTransform (flutter/packages/flutter/lib/src/rendering/proxy_box.dart:2974)
RenderObject.getTransformTo (flutter/packages/flutter/lib/src/rendering/object.dart:3520)
RenderBox.localToGlobal (flutter/packages/flutter/lib/src/rendering/box.dart:3082)
TooltipState._buildTooltipOverlay (flutter/packages/flutter/lib/src/material/tooltip.dart:793)
Builder.build (flutter/packages/flutter/lib/src/widgets/basic.dart:7818)
Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
[Paste your logs here]Flutter Doctor output
Doctor output