Skip to content

Empty List for TableRow throws unnamed assertion #119541

@fekoch

Description

@fekoch

Steps to Reproduce

  1. Execute flutter run on the code sample

Expected results:
A helpful error message, that tells me there are no children in the list.

Actual results:

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building Builder:
'package:flutter/src/rendering/table.dart': Failed assertion: line 632 pos 16: '_rows == 0': is not
true.

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

void main() {
runApp(MaterialApp(
  home: Table(children: [
    TableRow(children: []),
  ]),
));
}
Logs
[+1661 ms] ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
[        ] The following assertion was thrown building Builder:
[        ] Assertion failed: file:///home/user/.flutter/packages/flutter/lib/src/rendering/table.dart:632:16
[        ] _rows == 0
[        ] is not true
[        ] The relevant error-causing widget was:
[        ]   MaterialApp MaterialApp:file:///tmp/test/lib/main.dart:4:8
[        ] When the exception was thrown, this was the stack:
[        ] dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
[        ] dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3    assertFailed
[        ] packages/flutter/src/rendering/table.dart 632:25                              setFlatChildren
[        ] packages/flutter/src/widgets/table.dart 391:18                                [_updateRenderObjectChildren]
[        ] packages/flutter/src/widgets/table.dart 312:5                                 mount
[        ] packages/flutter/src/widgets/framework.dart 3863:15                           inflateWidget
[        ] packages/flutter/src/widgets/framework.dart 3592:18                           updateChild
[        ] packages/flutter/src/widgets/framework.dart 6300:14                           mount
[        ] packages/flutter/src/widgets/framework.dart 3863:15                           inflateWidget
[        ] packages/flutter/src/widgets/framework.dart 3592:18                           updateChild
[        ] packages/flutter/src/widgets/framework.dart 4904:16                           performRebuild

...
~1000 Lines of identical StackTrace
...

[        ] packages/flutter/src/widgets/framework.dart 4604:5                            rebuild
[        ] packages/flutter/src/widgets/framework.dart 4859:5                            [_firstBuild]
[        ] packages/flutter/src/widgets/framework.dart 5041:11                           [_firstBuild]
[        ] packages/flutter/src/widgets/framework.dart 4853:5                            mount
[        ] packages/flutter/src/widgets/framework.dart 3863:15                           inflateWidget
[        ] packages/flutter/src/widgets/framework.dart 3592:18                           updateChild
[        ] packages/flutter/src/widgets/binding.dart 1195:16                             [_rebuild]
[        ] packages/flutter/src/widgets/binding.dart 1164:5                              mount
[        ] packages/flutter/src/widgets/binding.dart 1111:16                             <fn>
[        ] packages/flutter/src/widgets/framework.dart 2605:19                           buildScope
[        ] packages/flutter/src/widgets/binding.dart 1110:12                             attachToRenderTree
[        ] packages/flutter/src/widgets/binding.dart 944:24                              attachRootWidget
[        ] packages/flutter/src/widgets/binding.dart 925:7                               <fn>
[        ] dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19       internalCallback
[        ] ════════════════════════════════════════════════════════════════════════════════════════════════════

Metadata

Metadata

Assignees

Labels

a: error messageError messages from the Flutter frameworkfound in release: 3.7Found to occur in 3.7frameworkflutter/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 version

Type

No type

Projects

Status

Done (PR merged)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions