-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listc: crashStack traces logged to the consoleStack traces logged to the consolec: regressionIt was better in the past than it is nowIt was better in the past than it is nowf: selectionSelectableRegion, SelectionArea, SelectionContainer, Selectable, and related APIsSelectableRegion, SelectionArea, SelectionContainer, Selectable, and related APIsframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
Description
Is there an existing issue for this?
- I have searched the existing issues
- I have read the guide to filing a bug
Steps to reproduce
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(
theme: ThemeData.light().copyWith(
useMaterial3: true,
),
debugShowCheckedModeBanner: false,
home: const Scaffold(
body: Center(
child: MyWidget(),
),
),
);
}
}
class MyWidget extends StatelessWidget {
const MyWidget({super.key});
@override
Widget build(BuildContext context) {
return const SelectionArea(
child: Column(
children: <Widget>[
Text('How are you?'),
Text('Good, and you?'),
Text('Fine, thank you.'),
],
),
);
}
}app crashes upon flutter run
This is a regression caused by #124624
Actual results
app crashed
Logs
Logs
══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during a scheduler callback:
'package:flutter/src/rendering/paragraph.dart': Failed assertion: line 953 pos 12:
'!debugNeedsLayout': 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
When the exception was thrown, this was the stack:
#2 RenderParagraph.getBoxesForSelection (package:flutter/src/rendering/paragraph.dart:953:12)
#3 _SelectableFragment._rect (package:flutter/src/rendering/paragraph.dart:1759:45)
#4 _SelectableFragment.getTransformToParagraph (package:flutter/src/rendering/paragraph.dart:1733:38)
#5 _SelectableFragment.getTransformTo (package:flutter/src/rendering/paragraph.dart:1738:12)
#6 MultiSelectableSelectionContainerDelegate._compareScreenOrder (package:flutter/src/widgets/selectable_region.dart:1619:9)
#7 Sort._insertionSort (dart:_internal/sort.dart:69:36)
#8 Sort._doSort (dart:_internal/sort.dart:58:7)
#9 Sort.sort (dart:_internal/sort.dart:33:5)
#10 ListBase.sort (dart:collection/list.dart:321:10)
#11 MultiSelectableSelectionContainerDelegate._flushAdditions (package:flutter/src/widgets/selectable_region.dart:1526:70)
#12 MultiSelectableSelectionContainerDelegate._updateSelectables (package:flutter/src/widgets/selectable_region.dart:1520:7)
#13 MultiSelectableSelectionContainerDelegate._scheduleSelectableUpdate.<anonymous closure> (package:flutter/src/widgets/selectable_region.dart:1513:7)
#14 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#15 SchedulerBinding.handleBeginFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1141:11)
#16 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
#17 SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:1139:17)
#18 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:940:7)
#22 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)
(elided 5 frames from class _AssertionError, class _Timer, and dart:async-patch)
This exception was thrown in the context of a scheduler callback. When the scheduler callback was _registered_ (as opposed to when the exception was thrown), this was the stack:
#2 SchedulerBinding.scheduleFrameCallback (package:flutter/src/scheduler/binding.dart:573:49)
#3 MultiSelectableSelectionContainerDelegate._scheduleSelectableUpdate (package:flutter/src/widgets/selectable_region.dart:1508:72)
#4 MultiSelectableSelectionContainerDelegate.add (package:flutter/src/widgets/selectable_region.dart:1490:5)
#5 List.forEach (dart:core-patch/growable_array.dart:416:8)
#6 RenderParagraph._updateSelectionRegistrarSubscription (package:flutter/src/rendering/paragraph.dart:205:31)
#7 RenderParagraph.registrar= (package:flutter/src/rendering/paragraph.dart:197:5)
#8 new RenderParagraph (package:flutter/src/rendering/paragraph.dart:110:10)
#9 RichText.createRenderObject (package:flutter/src/widgets/basic.dart:5833:12)
#10 RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5932:52)
#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6577:11)
... Normal element mounting (10 frames)
#21 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#22 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#23 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32)
... Normal element mounting (106 frames)
#129 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#130 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#131 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32)
... Normal element mounting (324 frames)
#455 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#456 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#457 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32)
... Normal element mounting (452 frames)
#909 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#910 Element.updateChild (package:flutter/src/widgets/framework.dart:3708:18)
#911 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1240:16)
#912 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1209:5)
#913 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1156:18)
#914 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2720:19)
#915 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1155:13)
#916 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:988:7)
#917 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:968:7)
#921 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)
(elided 5 frames from class _FrameCallbackEntry, class _Timer, and dart:async-patch)
════════════════════════════════════════════════════════════════════════════════════════════════════
Flutter Doctor output
Doctor output
<!-- Paste your output here -->
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listc: crashStack traces logged to the consoleStack traces logged to the consolec: regressionIt was better in the past than it is nowIt was better in the past than it is nowf: selectionSelectableRegion, SelectionArea, SelectionContainer, Selectable, and related APIsSelectableRegion, SelectionArea, SelectionContainer, Selectable, and related APIsframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.