-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
a: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkc: crashStack traces logged to the consoleStack traces logged to the consolef: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 2.2Found to occur in 2.2Found to occur in 2.2found in release: 2.5Found to occur in 2.5Found to occur in 2.5frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer version
Description
Steps to Reproduce
Run the code sample
Expected results: no crash
Actual results: crash
Code sample
// Flutter code sample for AnimatedSwitcher
//
// This sample shows a counter that animates the scale of a text widget
// whenever the value changes.
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
/// This is the main application widget.
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return const MaterialApp(
title: _title,
home: MyStatefulWidget(),
);
}
}
/// This is the stateful widget that the main application instantiates.
class MyStatefulWidget extends StatefulWidget {
const MyStatefulWidget({Key? key}) : super(key: key);
@override
State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
}
/// This is the private State class that goes with MyStatefulWidget.
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
int _count = 0;
@override
Widget build(BuildContext context) {
return Container(
color: Colors.white,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
AnimatedSwitcher(
duration: const Duration(milliseconds: 500),
transitionBuilder: (Widget child, Animation<double> animation) {
return ScaleTransition(child: child, scale: animation);
},
child: _count % 2 == 0 ? null : Text(
'$_count',
// This key causes the AnimatedSwitcher to interpret this as a "new"
// child each time the count changes, so that it will begin its animation
// when the count changes.
key: ValueKey<int>(_count),
style: Theme.of(context).textTheme.headline4,
),
),
ElevatedButton(
child: const Text('Increment'),
onPressed: () {
setState(() {
_count += 1;
});
},
),
],
),
);
}
}Logs
════════ Exception caught by rendering library ═════════════════════════════════
The following assertion was thrown during performLayout():
'package:flutter/src/rendering/stack.dart': Failed assertion: line 541 pos 14: 'constraints.biggest.isFinite': is not true.
2
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.md
The relevant error-causing widget was
AnimatedSwitcher AnimatedSwitcher:file:///C:/dev/projects/issues/lib/main.dart:44:11
When the exception was thrown, this was the stack
#2 RenderStack._computeSize
package:flutter/…/rendering/stack.dart:541
#3 RenderStack.performLayout
package:flutter/…/rendering/stack.dart:597
#4 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#5 ChildLayoutHelper.layoutChild
package:flutter/…/rendering/layout_helper.dart:56
#6 RenderFlex._computeSizes
package:flutter/…/rendering/flex.dart:829
#7 RenderFlex.performLayout
package:flutter/…/rendering/flex.dart:931
#8 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#9 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#10 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#11 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#12 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#13 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#14 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#15 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#16 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#17 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#18 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#19 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#20 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#21 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#22 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#23 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#24 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#25 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#26 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#27 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#28 RenderOffstage.performLayout
package:flutter/…/rendering/proxy_box.dart:3422
#29 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#30 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#31 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#32 _RenderTheatre.performLayout
package:flutter/…/widgets/overlay.dart:745
#33 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#34 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#35 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#36 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#37 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#38 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#39 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#40 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#41 RenderCustomPaint.performLayout
package:flutter/…/rendering/custom_paint.dart:545
#42 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#43 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#44 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#45 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#46 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#47 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#48 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#49 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:116
#50 RenderObject.layout
package:flutter/…/rendering/object.dart:1858
#51 RenderView.performLayout
package:flutter/…/rendering/view.dart:165
#52 RenderObject._layoutWithoutResize
package:flutter/…/rendering/object.dart:1713
#53 PipelineOwner.flushLayout
package:flutter/…/rendering/object.dart:885
#54 RendererBinding.drawFrame
package:flutter/…/rendering/binding.dart:453
#55 WidgetsBinding.drawFrame
package:flutter/…/widgets/binding.dart:883
#56 RendererBinding._handlePersistentFrameCallback
package:flutter/…/rendering/binding.dart:319
#57 SchedulerBinding._invokeFrameCallback
package:flutter/…/scheduler/binding.dart:1143
#58 SchedulerBinding.handleDrawFrame
package:flutter/…/scheduler/binding.dart:1080
#59 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure>
package:flutter/…/scheduler/binding.dart:863
(elided 13 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
The following RenderObject was being processed when the exception was fired: RenderStack#2a782 relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT
RenderObject: RenderStack#2a782 relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT
parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
size: MISSING
alignment: Alignment.center
textDirection: ltr
fit: loose
════════════════════════════════════════════════════════════════════════════════
flutter doctor -v
[√] Flutter (Channel master, 2.5.0-7.0.pre.83, on Microsoft Windows [Version 10.0.19041.1110], locale ru-RU)
• Flutter version 2.5.0-7.0.pre.83 at C:\dev\src\flutter
• Upstream repository [email protected]:nt4f04und/flutter.git
• FLUTTER_GIT_URL = [email protected]:nt4f04und/flutter.git
• Framework revision 06be7e5392 (4 hours ago), 2021-08-15 14:37:02 -0400
• Engine revision 1af0a20793
• Dart version 2.15.0 (build 2.15.0-15.0.dev)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at C:\Users\danya\AppData\Local\Android\sdk
X cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
X Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
• Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
• Visual Studio Community 2019 version 16.7.30621.155
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 4.1)
• Android Studio at C:\Program Files\Android\Android Studio
• 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 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2020.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
• 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
[√] VS Code (version 1.59.0)
• VS Code at C:\Users\danya\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.25.0
[√] Connected device (4 available)
• Redmi Note 5 (mobile) • 40c9f14 • android-arm64 • Android 9 (API 28)
• sdk gphone x86 (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19041.1110]
• Chrome (web) • chrome • web-javascript • Google Chrome 92.0.4515.131
• Edge (web) • edge • web-javascript • Microsoft Edge 92.0.902.67
! Doctor found issues in 1 category.
Metadata
Metadata
Assignees
Labels
a: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkc: crashStack traces logged to the consoleStack traces logged to the consolef: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 2.2Found to occur in 2.2Found to occur in 2.2found in release: 2.5Found to occur in 2.5Found to occur in 2.5frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer version
Type
Projects
Status
Done (PR merged)