Skip to content

Tooltip in Alertidalog causes exception with OrientationBuilder #180569

@cirediew

Description

@cirediew

Steps to reproduce

In my app I have an AlertDialog which contains tooltips. When closing the dialog while the tooltip is still visible the app throws an exception.
This only happens on iOS.

To replicate on iOS:

  • Open the dialog with the button
  • Long press the Text to show the tooltip
  • Press 'OK' to close the dialog while the tooltip is still visible.
  • The exception is thrown.
  • The button is not clickable anymore.

The OrientationBuilder seems to be the issue. Although that's not very clear from the logs.
When i move the OrientationBuilder to be the child of MaterialApp it seems to work.

Expected results

I don't expect an exception to be thrown on iOS. On android it seems to work as intended.

Actual results

An exeption is thrown when closing the dialog with a tooltip visible.

Code sample

Code sample
import 'package:flutter/material.dart';

void main() {
  FlutterError.onError = (FlutterErrorDetails details) {
    FlutterError.dumpErrorToConsole(details, forceReport: true);
  };
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return OrientationBuilder(
      builder: (context, orientation) => MaterialApp(
        title: 'Flutter Demo',
        debugShowCheckedModeBanner: false,
        theme: ThemeData(colorSchemeSeed: Colors.red),
        home: const MyHomePage(title: 'Flutter Demo Home Page'),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;

  const MyHomePage({super.key, required this.title});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(child: TestButton()),
    );
  }
}

class TestButton extends StatelessWidget {
  const TestButton({super.key});

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {
        showAdaptiveDialog(
          context: context,
          builder: (_) => AlertDialog.adaptive(
            title: const Text('Test Alert'),
            content: Tooltip(
              showDuration: Duration(seconds: 50),
              message: 'Long Press tooltip',
              child: Text('Long Press for tooltip'),
            ),
            actions: [
              TextButton(
                onPressed: () => Navigator.of(context).pop(),
                child: const Text('OK'),
              ),
            ],
          ),
        );
      },
      child: const Text('Test Button'),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
Simulator.Screen.Recording.-.iPhone.13.iOS.26.0.-.2026-01-06.at.11.23.17.mov

Logs

Logs
Restarted application in 193ms.
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building ListenableBuilder(listenable:
flutter: ValueNotifier<bool>#654c2(false), state: _AnimatedState#0de26):
flutter: A _RenderLayoutBuilder was mutated in _RenderLayoutBuilder.performLayout.
flutter: The RenderObject was mutated when none of its ancestors is actively performing layout.
flutter: The RenderObject being mutated was:
flutter:   _RenderLayoutBuilder#0d860 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: The RenderObject that was mutating the said _RenderLayoutBuilder was:
flutter:   _RenderLayoutBuilder#475a3 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:
flutter: The relevant error-causing widget was:
flutter:   MaterialApp MaterialApp:file:///Users/user/development/test_project/lib/main.dart:16:42
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      RenderObject._debugCanPerformMutations.<anonymous closure> (package:flutter/src/rendering/object.dart:2230:9)
flutter: #1      RenderObject._debugCanPerformMutations (package:flutter/src/rendering/object.dart:2296:6)
flutter: #2      RenderObject.markNeedsLayout (package:flutter/src/rendering/object.dart:2529:12)
flutter: #3      RenderBox.markNeedsLayout (package:flutter/src/rendering/box.dart:2859:11)
flutter: #4      RenderObject.attach (package:flutter/src/rendering/object.dart:2355:7)
flutter: #5      RenderObjectWithChildMixin.attach (package:flutter/src/rendering/object.dart:4091:11)
flutter: #6      RenderObjectWithChildMixin.attach (package:flutter/src/rendering/object.dart:4092:13)
flutter: #7      RenderObject.adoptChild (package:flutter/src/rendering/object.dart:2047:13)
flutter: #8      _RenderTheater._addDeferredChild (package:flutter/src/widgets/overlay.dart:1260:5)
flutter: #9      _OverlayEntryLocation._activate (package:flutter/src/widgets/overlay.dart:2131:14)
flutter: #10     _OverlayPortalElement.activate (package:flutter/src/widgets/overlay.dart:2340:55)
flutter: #11     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4739:13)
flutter: #12     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #13     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #14     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #15     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #16     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #17     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #18     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #19     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #20     MultiChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7228:16)
flutter: #21     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #22     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #23     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #24     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #25     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #26     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #27     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #28     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #29     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #30     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #31     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #32     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #33     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #34     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #35     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #36     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #37     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #38     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #39     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #40     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #41     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #42     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #43     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #44     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #45     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #46     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #47     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #48     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #49     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #50     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #51     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #52     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #53     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #54     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #55     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #56     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #57     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #58     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #59     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #60     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #61     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #62     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #63     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #64     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #65     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #66     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #67     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #68     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #69     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #70     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #71     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #72     MultiChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7228:16)
flutter: #73     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #74     _LayoutBuilderElement.visitChildren (package:flutter/src/widgets/layout_builder.dart:159:14)
flutter: #75     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #76     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #77     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #78     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #79     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #80     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #81     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #82     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #83     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #84     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #85     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #86     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #87     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #88     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #89     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #90     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #91     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #92     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #93     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #94     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #95     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #96     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #97     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #98     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #99     Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #100    SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #101    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #102    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #103    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #104    _LayoutBuilderElement.visitChildren (package:flutter/src/widgets/layout_builder.dart:159:14)
flutter: #105    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #106    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #107    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #108    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #109    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #110    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #111    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #112    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #113    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #114    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #115    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #116    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #117    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #118    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #119    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #120    SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #121    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #122    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #123    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #124    SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #125    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #126    ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5874:14)
flutter: #127    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #128    SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:7104:14)
flutter: #129    Element._activateRecursively (package:flutter/src/widgets/framework.dart:4741:13)
flutter: #130    Element._activateWithParent (package:flutter/src/widgets/framework.dart:4732:5)
flutter: ...     Normal element mounting (12 frames)
flutter: #142    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
flutter: #143    Element.updateChild (package:flutter/src/widgets/framework.dart:4053:20)
flutter: #144    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7125:14)
flutter: #145    Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
flutter: #146    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
flutter: #147    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
flutter: #148    Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
flutter: #149    BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15)
flutter: #150    BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11)
flutter: #151    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18)
flutter: #152    _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:271:12)
flutter: #153    RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:334:38)
flutter: #154    RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4169:33)
flutter: #155    RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2894:17)
flutter: #156    PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1219:15)
flutter: #157    RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2893:14)
flutter: #158    RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4169:5)
flutter: #159    _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:448:5)
flutter: #160    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
flutter: #161    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
flutter: #162    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
flutter: #163    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
flutter: #164    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
flutter: #165    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
flutter: #166    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
flutter: #167    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
flutter: #168    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
flutter: #169    _invoke (dart:ui/hooks.dart:356:13)
flutter: #170    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
flutter: #171    _drawFrame (dart:ui/hooks.dart:328:31)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building ListenableBuilder(listenable:
flutter: ValueNotifier<bool>#654c2(false), state: _AnimatedState#0de26):
flutter: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 2168 pos 12:
flutter: '_elements.contains(element)': is not true.
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new?template=02_bug.yml
flutter:
flutter: The relevant error-causing widget was:
flutter:   MaterialApp MaterialApp:file:///Users/user/development/test_project/lib/main.dart:16:42
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      _InactiveElements.remove (package:flutter/src/widgets/framework.dart:2168:12)
flutter: #3      Element._retakeInactiveElement (package:flutter/src/widgets/framework.dart:4535:30)
flutter: ...     Normal element mounting (4 frames)
flutter: #7      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
flutter: #8      Element.updateChild (package:flutter/src/widgets/framework.dart:4053:20)
flutter: #9      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
flutter: #10     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
flutter: #11     Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
flutter: #12     StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5)
flutter: #13     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
flutter: #14     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7125:14)
flutter: #15     Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
flutter: #16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
flutter: #17     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
flutter: #18     Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
flutter: #19     BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15)
flutter: #20     BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11)
flutter: #21     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18)
flutter: #22     _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:271:12)
flutter: #23     RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:334:38)
flutter: #24     RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4169:33)
flutter: #25     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2894:17)
flutter: #26     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1219:15)
flutter: #27     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2893:14)
flutter: #28     RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4169:5)
flutter: #29     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:448:5)
flutter: #30     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
flutter: #31     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
flutter: #32     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
flutter: #33     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
flutter: #34     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
flutter: #35     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
flutter: #36     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
flutter: #37     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
flutter: #38     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
flutter: #39     _invoke (dart:ui/hooks.dart:356:13)
flutter: #40     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
flutter: #41     _drawFrame (dart:ui/hooks.dart:328:31)
flutter: (elided 2 frames from class _AssertionError)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.38.3, on macOS 26.1 25B78 darwin-arm64, locale en-GB) [296ms]
    • Flutter version 3.38.3 on channel stable at /Users/user/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 19074d12f7 (7 weeks ago), 2025-11-20 17:53:13 -0500
    • Engine revision 13e658725d
    • Dart version 3.10.1
    • DevTools version 2.51.1
    • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets,
      enable-swift-package-manager, omit-legacy-version-file, enable-lldb-debugging

[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0) [1,283ms]
    • Android SDK at /Users/user/Library/Android/sdk
    • Emulator version 35.4.9.0 (build_id 13025442) (CL:N/A)
    • Platform android-36, build-tools 36.0.0
    • Java binary at: /Users/user/Applications/Android Studio Feature Drop 2025.1.4 Nightly.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.8+-14018985-b1038.68)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 26.0.1) [788ms]
    • Xcode at /Applications/Xcode-26.0.1.app/Contents/Developer
    • Build 17A400
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web [6ms]
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Connected device (4 available) [6.2s]
    • iPhoneE (wireless) (mobile) •             • ios            • iOS 26.1 23B85
    • iPhone 13 iOS 26.0 (mobile) •  • ios            • com.apple.CoreSimulator.SimRuntime.iOS-26-0 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 26.1 25B78 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 143.0.7499.170

[✓] Network resources [218ms]
    • All expected network resources are available.

• No issues found!

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: error messageError messages from the Flutter frameworkc: crashStack traces logged to the consolef: material designflutter/packages/flutter/material repository.found in release: 3.38Found to occur in 3.38found in release: 3.40Found to occur in 3.40frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-iosiOS applications specificallyteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions