Skip to content

Assertion error when using FittedBox (BoxFit.scaleDown,) inside AspectRatio within a Container with fixed width #142910

@Osama-Al-Fawaz

Description

@Osama-Al-Fawaz

Steps to reproduce

  1. in a scaffold body> center > column: add a container with width: MediaQuery.sizeOf(context).width * 0.3,
  2. add child AspectRatio with aspectRatio: 16 / 9,
  3. ad child FittedBox with fit: BoxFit.scaleDown, (error only happens on scaleDown)
  4. add child Image with any image (for me it was network image)

Expected results

as per the documentation: Align the source within the target box (by default, centering) and, if necessary, scale the source down to ensure that the source fits within the box.
it should fit the image within the box

Actual results

image disappears and the following error is thrown:

The following assertion was thrown during performLayout():
'package:flutter/src/rendering/box.dart': Failed assertion: line 320 pos 12: 'width > 0.0': is not true.

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

Code sample

Code sample
class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Column(
          children: [
            Container(
                width: MediaQuery.sizeOf(context).width * 0.3,
                child: AspectRatio(
                    aspectRatio: 16 / 9,
                    child: FittedBox(
                      fit: BoxFit.scaleDown,
                      child: Image(
                          image: NetworkImage(
                              'https://www.figma.com/file/8WJqutydnwMKD9P1K2o0sQ/image/8af266d840515558d8a8420841ad055b07310ae4')),
                    ))),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

Screenshot_1707134131

Logs

Logs
Restarted application in 1,016ms.
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Localization initialized
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Start
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init state
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Build
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init Localization Delegate
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init provider
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Build
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init Localization Delegate
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init provider
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Load Localization Delegate
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Load asset from assets/langs
D/EGL_emulation(10987): app_time_stats: avg=3787.98ms min=3787.98ms max=3787.98ms count=1

════════ Exception caught by rendering library ═════════════════════════════════
The following assertion was thrown during performLayout():
'package:flutter/src/rendering/box.dart': Failed assertion: line 320 pos 12: 'width > 0.0': is not true.

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

The relevant error-causing widget was:
    FittedBox FittedBox:file:///home/osama/projects/flutter/meet-mobile/lib/pages/home_page.dart:18:28

When the exception was thrown, this was the stack:
#2      BoxConstraints.constrainSizeAndAttemptToPreserveAspectRatio (package:flutter/src/rendering/box.dart:320:12)
#3      RenderFittedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:2722:58)
#4      RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#5      RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#6      RenderAspectRatio.performLayout (package:flutter/src/rendering/proxy_box.dart:576:14)
#7      RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#8      RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#9      RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:279:14)
#10     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#11     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#12     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
#13     RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:808:43)
#14     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:903:32)
#15     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#16     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#17     RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:434:14)
#18     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#19     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#20     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12)
#21     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1062:7)
#22     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
#23     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403:14)
#24     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#25     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#26     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#27     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#28     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#29     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#30     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1434:11)
#31     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#32     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#33     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#34     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#35     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#37     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#38     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#39     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#40     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#41     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#42     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#43     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#44     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#45     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#46     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#47     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#48     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#49     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#50     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#51     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#52     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#53     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#54     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#55     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#56     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#57     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#58     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#59     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#60     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#61     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3714:13)
#62     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#63     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#64     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#65     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#66     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#67     _RenderTheaterMixin.performLayout (package:flutter/src/widgets/overlay.dart:884:15)
#68     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#69     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#70     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#71     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#72     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#73     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#74     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#75     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#76     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#77     RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:569:11)
#78     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#79     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#80     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#81     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#82     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#83     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#84     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#85     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#86     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#87     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#88     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#89     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#90     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#91     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#92     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#93     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#94     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#95     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#96     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#97     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#98     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
#99     RenderStack._computeSize (package:flutter/src/rendering/stack.dart:581:43)
#100    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:608:12)
#101    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2385:7)
#102    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1025:18)
#103    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1038:15)
#104    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:591:23)
#105    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:986:13)
#106    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#107    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#108    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#109    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1113:5)
#110    _invoke (dart:ui/hooks.dart:312:13)
#111    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:383:5)
#112    _drawFrame (dart:ui/hooks.dart:283:31)
(elided 2 frames from class _AssertionError)

The following RenderObject was being processed when the exception was fired: RenderFittedBox#25f26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    parentData: <none>
    constraints: BoxConstraints(w=128.4, h=72.2)
    size: MISSING
    fit: scaleDown
    alignment: Alignment.center
    textDirection: ltr
    child: RenderSemanticsAnnotations#9f173 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        parentData: <none> (can use size)
        constraints: BoxConstraints(unconstrained)
        size: Size(0.0, 0.0)
        child: RenderImage#ff43f relayoutBoundary=up2 NEEDS-PAINT
            parentData: <none> (can use size)
            constraints: BoxConstraints(unconstrained)
            size: Size(0.0, 0.0)
            image: null
            alignment: Alignment.center
            invertColors: false
            filterQuality: low
RenderObject: RenderFittedBox#25f26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    parentData: <none>
    constraints: BoxConstraints(w=128.4, h=72.2)
    size: MISSING
    fit: scaleDown
    alignment: Alignment.center
    textDirection: ltr
    child: RenderSemanticsAnnotations#9f173 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        parentData: <none> (can use size)
        constraints: BoxConstraints(unconstrained)
        size: Size(0.0, 0.0)
        child: RenderImage#ff43f relayoutBoundary=up2 NEEDS-PAINT
            parentData: <none> (can use size)
            constraints: BoxConstraints(unconstrained)
            size: Size(0.0, 0.0)
            image: null
            alignment: Alignment.center
            invertColors: false
            filterQuality: low
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderFittedBox#25f26
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1972 pos 12: 'hasSize'
The relevant error-causing widget was:
════════════════════════════════════════════════════════════════════════════════
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Start
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Build
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init Localization Delegate
I/flutter (10987): [🌎 Easy Localization] [DEBUG] Init provider

════════ Exception caught by rendering library ═════════════════════════════════
The following assertion was thrown during performLayout():
'package:flutter/src/rendering/box.dart': Failed assertion: line 320 pos 12: 'width > 0.0': is not true.

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

The relevant error-causing widget was:
    FittedBox FittedBox:file:///home/osama/projects/flutter/meet-mobile/lib/pages/home_page.dart:18:28

When the exception was thrown, this was the stack:
#2      BoxConstraints.constrainSizeAndAttemptToPreserveAspectRatio (package:flutter/src/rendering/box.dart:320:12)
#3      RenderFittedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:2722:58)
#4      RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#5      RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#6      RenderAspectRatio.performLayout (package:flutter/src/rendering/proxy_box.dart:576:14)
#7      RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#8      RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#9      RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:279:14)
#10     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#11     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#12     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
#13     RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:808:43)
#14     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:903:32)
#15     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#16     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#17     RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:434:14)
#18     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#19     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#20     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12)
#21     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1062:7)
#22     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
#23     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403:14)
#24     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#25     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#26     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#27     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#28     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#29     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#30     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1434:11)
#31     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#32     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#33     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#34     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#35     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#37     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#38     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#39     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#40     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#41     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#42     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#43     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#44     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#45     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#46     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#47     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#48     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#49     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#50     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#51     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#52     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#53     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#54     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#55     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#56     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#57     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#58     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#59     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#60     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#61     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3714:13)
#62     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#63     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#64     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#65     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#66     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#67     _RenderTheaterMixin.performLayout (package:flutter/src/widgets/overlay.dart:884:15)
#68     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#69     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#70     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#71     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#72     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#73     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#74     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#75     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#76     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#77     RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:569:11)
#78     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#79     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#80     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#81     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#82     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#83     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#84     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#85     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#86     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#87     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#88     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#89     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#90     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#91     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#92     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#93     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#94     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#95     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#96     RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#97     RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#98     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
#99     RenderStack._computeSize (package:flutter/src/rendering/stack.dart:581:43)
#100    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:608:12)
#101    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#102    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#103    _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:310:14)
#104    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#105    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#106    RenderStack.layoutPositionedChild (package:flutter/src/rendering/stack.dart:516:11)
#107    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:621:30)
#108    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#109    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#110    RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:279:14)
#111    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#112    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#113    RenderRotatedBox.performLayout (package:flutter/src/rendering/rotated_box.dart:89:14)
#114    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#115    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#116    RenderFittedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:2718:14)
#117    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#118    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#119    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#120    _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1434:11)
#121    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#122    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#123    RenderStack.layoutPositionedChild (package:flutter/src/rendering/stack.dart:516:11)
#124    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:621:30)
#125    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#126    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#127    RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:279:14)
#128    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#129    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#130    RenderRotatedBox.performLayout (package:flutter/src/rendering/rotated_box.dart:89:14)
#131    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#132    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#133    RenderFittedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:2718:14)
#134    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#135    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#136    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#137    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#138    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#139    RenderFittedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:2718:14)
#140    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#141    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#142    RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:238:12)
#143    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#144    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#145    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#146    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#147    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#148    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#149    _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1434:11)
#150    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#151    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#152    RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:238:12)
#153    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#154    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#155    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#156    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#157    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#158    RenderStack.layoutPositionedChild (package:flutter/src/rendering/stack.dart:516:11)
#159    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:621:30)
#160    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#161    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#162    _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:310:14)
#163    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#164    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#165    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#166    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#167    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#168    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#169    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#170    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#171    ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
#172    RenderStack._computeSize (package:flutter/src/rendering/stack.dart:581:43)
#173    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:608:12)
#174    RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#175    RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#176    RenderView.performLayout (package:flutter/src/rendering/view.dart:195:14)
#177    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2385:7)
#178    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1025:18)
#179    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1038:15)
#180    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:591:23)
#181    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:986:13)
#182    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#183    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#184    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#185    SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:978:7)
#189    _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
(elided 5 frames from class _AssertionError, class _Timer, and dart:async-patch)

The following RenderObject was being processed when the exception was fired: RenderFittedBox#25f26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    parentData: <none>
    constraints: BoxConstraints(w=128.4, h=72.2)
    size: MISSING
    fit: scaleDown
    alignment: Alignment.center
    textDirection: ltr
    child: RenderSemanticsAnnotations#9f173 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        parentData: <none> (can use size)
        constraints: BoxConstraints(unconstrained)
        size: Size(0.0, 0.0)
        child: RenderImage#ff43f relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            parentData: <none> (can use size)
            constraints: BoxConstraints(unconstrained)
            size: Size(0.0, 0.0)
            image: null
            alignment: Alignment.center
            invertColors: false
            filterQuality: low
RenderObject: RenderFittedBox#25f26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    parentData: <none>
    constraints: BoxConstraints(w=128.4, h=72.2)
    size: MISSING
    fit: scaleDown
    alignment: Alignment.center
    textDirection: ltr
    child: RenderSemanticsAnnotations#9f173 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
        parentData: <none> (can use size)
        constraints: BoxConstraints(unconstrained)
        size: Size(0.0, 0.0)
        child: RenderImage#ff43f relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            parentData: <none> (can use size)
            constraints: BoxConstraints(unconstrained)
            size: Size(0.0, 0.0)
            image: null
            alignment: Alignment.center
            invertColors: false
            filterQuality: low
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderFittedBox#25f26
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1972 pos 12: 'hasSize'
The relevant error-causing widget was:
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderFittedBox#25f26
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1972 pos 12: 'hasSize'
The relevant error-causing widget was:
════════════════════════════════════════════════════════════════════════════════
D/EGL_emulation(10987): app_time_stats: avg=225.72ms min=104.12ms max=427.43ms count=5

════════ Exception caught by rendering library ═════════════════════════════════
Tried to paint a RenderObject reentrantly.
The relevant error-causing widget was:
════════════════════════════════════════════════════════════════════════════════
D/EGL_emulation(10987): app_time_stats: avg=1836.72ms min=210.98ms max=5070.19ms count=3

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.16.9, on Ubuntu 22.04.3 LTS 6.5.0-15-generic, locale
    en_US.UTF-8)
    • Flutter version 3.16.9 on channel stable at
      /home/osama/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 41456452f2 (11 days ago), 2024-01-25 10:06:23 -0800
    • Engine revision f40e976bed
    • Dart version 3.2.6
    • DevTools version 2.28.5

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /home/osama/Android/Sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /usr/local/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2023.1)
    • Android Studio at /usr/local/android-studio
    • Flutter plugin version 77.1.2
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /usr/local/android-studio
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.85.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.82.0

[✓] Connected device (3 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 14 (API
      34) (emulator)
    • Linux (desktop)              • linux         • linux-x64      • Ubuntu 22.04.3
      LTS 6.5.0-15-generic
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome
      121.0.6167.85

[✓] Network resources
    • 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 consolefound in release: 3.16Found to occur in 3.16found in release: 3.20Found to occur in 3.20frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions