Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing TextField.textAlign crashes during hot reload #20611

Closed
BytesZero opened this issue Aug 15, 2018 · 24 comments · Fixed by #44605
Closed

Changing TextField.textAlign crashes during hot reload #20611

BytesZero opened this issue Aug 15, 2018 · 24 comments · Fixed by #44605
Labels
c: crash Stack traces logged to the console framework flutter/packages/flutter repository. See also f: labels. t: hot reload Reloading code during "flutter run"

Comments

@BytesZero
Copy link

BytesZero commented Aug 15, 2018

  • Log
flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during performLayout():
flutter: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 297 pos 12:
flutter: '!_needsLayout': 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
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      TextPainter.size (package:flutter/src/painting/text_painter.dart)
flutter: #3      RenderEditable.performLayout (package:flutter/src/rendering/editable.dart:686:47)
flutter: #4      RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #5      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #7      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #9      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #10     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #11     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #12     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #13     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #14     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #15     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #16     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #17     _RenderDecoration._layout.layoutLineBox (package:flutter/src/material/input_decorator.dart:750:11)
flutter: #18     _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:782:18)
flutter: #19     _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:905:44)
flutter: #20     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #21     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #22     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #23     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #24     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #25     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #26     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #27     RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:381:13)
flutter: #28     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #29     RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:259:13)
flutter: #30     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #31     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
flutter: #32     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #33     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
flutter: #34     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #35     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199:11)
flutter: #36     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #37     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11)
flutter: #38     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:399:7)
flutter: #39     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7)
flutter: #40     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14)
flutter: #41     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #42     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #43     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #44     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #45     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1143:11)
flutter: #46     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #47     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #48     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #49     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #50     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #51     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #52     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #53     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:520:15)
flutter: #54     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #55     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #56     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #57     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #58     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #59     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #60     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #61     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #62     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #63     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #64     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #65     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #66     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2831:13)
flutter: #67     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #68     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:520:15)
flutter: #69     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #70     __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #71     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #72     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #73     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #74     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #75     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #76     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #77     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #78     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #79     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #80     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
flutter: #81     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
flutter: #82     RenderView.performLayout (package:flutter/src/rendering/view.dart:125:13)
flutter: #83     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445:7)
flutter: #84     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:709:18)
flutter: #85     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
flutter: #86     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13)
flutter: #87     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
flutter: #88     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
flutter: #89     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
flutter: #90     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
flutter: #92     _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
flutter: #93     _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
flutter: #94     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
flutter: (elided 3 frames from class _AssertionError and package dart:async)
flutter:
flutter: The following RenderObject was being processed when the exception was fired:
flutter:   RenderEditable#bb511 relayoutBoundary=up16 NEEDS-LAYOUT NEEDS-PAINT
flutter:   creator: _Editable-[GlobalKey#bf475] ← Semantics ← CompositedTransformTarget ← _ScrollableScope ←
flutter:   IgnorePointer-[GlobalKey#d90c3] ← Semantics ← Listener ←
flutter:   RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#62b00] ← Scrollable ←
flutter:   EditableText-[LabeledGlobalKey<EditableTextState>#8a748] ← RepaintBoundary ← _Decorator ← ⋯
flutter:   parentData: <none> (can use size)
flutter:   constraints: BoxConstraints(w=40.0, 0.0<=h<=Infinity)
flutter:   size: Size(40.0, 36.0)
flutter:   cursorColor: Color(0xffffcc80)
flutter:   showCursor: ValueNotifier<bool>#9f5b2(false)
flutter:   maxLines: 1
flutter:   selectionColor: Color(0xffffcc80)
flutter:   textScaleFactor: 1.0
flutter:   selection: TextSelection(baseOffset: -1, extentOffset: -1, affinity: TextAffinity.downstream,
flutter:   isDirectional: false)
flutter:   offset: ScrollPositionWithSingleContext#931cd(offset: 0.0, range: 0.0..0.0, viewport: 40.0,
flutter:   ScrollableState, ClampingScrollPhysics -> BouncingScrollPhysics, IdleScrollActivity#f07ce,
flutter:   ScrollDirection.idle)
flutter: This RenderObject has no descendants.
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 306 pos 12: '!_needsLayout': is not true.
flutter: Another exception was thrown: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 297 pos 12: '!_needsLayout': is not true.
flutter: Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1604 pos 12: '!_debugDoingBaseline': is not true.
flutter: Another exception was thrown: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 297 pos 12: '!_needsLayout': is not true.
Reloaded 3 of 399 libraries in 733ms.
flutter: Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1604 pos 12: '!_debugDoingBaseline': is not true.
flutter: Another exception was thrown: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 297 pos 12: '!_needsLayout': is not true.
flutter: Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1604 pos 12: '!_debugDoingBaseline': is not true.
flutter: Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1604 pos 12: '!_debugDoingBaseline': is not true.
flutter: Another exception was thrown: TextPainter.paint called when text geometry was not yet calculated.
flutter: Another exception was thrown: TextPainter.paint called when text geometry was not yet calculated.
flutter: Another exception was thrown: TextPainter.paint called when text geometry was not yet calculated.
flutter: Another exception was thrown: TextPainter.paint called when text geometry was not yet calculated.
flutter: Another exception was thrown: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 479 pos 12: '!_needsLayout': is not true.
  • Flutter
flutter doctor -v
[✓] Flutter (Channel beta, v0.5.1, on Mac OS X 10.13.4 17E199, locale zh-Hans-CN)
    • Flutter version 0.5.1 at /Users/zhengsl/sdk/flutter
    • Framework revision c7ea3ca377 (3 months ago), 2018-05-29 21:07:33 +0200
    • Engine revision 1ed25ca7b7
    • Dart version 2.0.0-dev.58.0.flutter-f981f09760

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
    • Android SDK at /Users/zhengsl/sdk/android/android-sdk-macosx
    • Android NDK at /Users/zhengsl/sdk/android/android-sdk-macosx/ndk-bundle
    • Platform android-28, build-tools 28.0.2
    • ANDROID_HOME = /Users/zhengsl/sdk/android/android-sdk-macosx
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 27.1.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected devices (2 available)
    • SM919    • 73a2e9a7                             • android-arm64 • Android 6.0.1 (API 23)
    • iPhone X • 0F8B3CDF-B5FE-4FE5-900A-B0209A84C882 • ios           • iOS 11.4 (simulator)

• No issues found!
  • Code
Widget _buildCodeEdit() {
      return new Container(
        alignment: Alignment.center,
        width: 40.0,
        child: new TextField(
          keyboardType: TextInputType.number,
          maxLines: 1,
          maxLength: 1,
          textAlign: TextAlign.center,
          enabled: true,
          style: TextStyle(fontSize: 30.0, color: Colors.grey[700]),
        ),
      );
    }

    Widget code = new Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      mainAxisSize: MainAxisSize.max,
      children: <Widget>[
        _buildCodeEdit(),
        _buildCodeEdit(),
        _buildCodeEdit(),
        _buildCodeEdit(),
      ],
    );
  • Diff

textAlign: TextAlign.center Delete can run

@zoechi zoechi added the framework flutter/packages/flutter repository. See also f: labels. label Aug 22, 2018
@zoechi zoechi added this to the Goals milestone Aug 22, 2018
@pushangupta
Copy link

@zoechi Any update on this?

@zoechi
Copy link
Contributor

zoechi commented Dec 20, 2018

@pushangupta what exactly are the steps to reproduce?

@pushangupta
Copy link

pushangupta commented Dec 20, 2018

@zoechi

              Container(
                decoration: BoxDecoration(
                    border: Border(bottom: BorderSide(color: Colors.white))),
                height: 35.0,
                width: double.infinity,
                margin: EdgeInsets.only(left: 15.0, right: 15.0, bottom: 40.0),
                child: TextFormField(
                  controller: _nameController,
                  textInputAction: TextInputAction.done,
                  textAlign: TextAlign.center,
                  keyboardType: TextInputType.text,
                  style: TextStyle(
                      color: Colors.black,
                      fontWeight: FontWeight.bold,
                      fontSize: 15.0),
                  decoration: InputDecoration(
                      icon: Icon(
                        Icons.edit,
                        color: Colors.black,
                      ),
                      hintText: widget.group_name,
                      hintStyle: TextStyle(
                          color: Colors.black, fontWeight: FontWeight.bold),
                      border: InputBorder.none),
                ),
              )

Apologies for bad indentation

@zoechi
Copy link
Contributor

zoechi commented Dec 21, 2018

@pushangupta
I can not reproduce

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'foo text',
            ),
            Container(
              decoration: BoxDecoration(
                  border: Border(bottom: BorderSide(color: Colors.white))),
              height: 35.0,
              width: double.infinity,
              margin: EdgeInsets.only(left: 15.0, right: 15.0, bottom: 40.0),
              child: TextFormField(
//                controller: _nameController,
                textInputAction: TextInputAction.done,
                textAlign: TextAlign.center,
                keyboardType: TextInputType.text,
                style: TextStyle(
                    color: Colors.black,
                    fontWeight: FontWeight.bold,
                    fontSize: 15.0),
                decoration: InputDecoration(
                    icon: Icon(
                      Icons.edit,
                      color: Colors.black,
                    ),
                    hintText: 'foo',
                    hintStyle: TextStyle(
                        color: Colors.black, fontWeight: FontWeight.bold),
                    border: InputBorder.none),
              ),
            )
          ],
        ),
      ),
    );
  }
}
 $ flutter doctor -v
[✓] Flutter (Channel master, v1.1.4-pre.9, on Mac OS X 10.14.1 18B75, locale en-AT)
    • Flutter version 1.1.4-pre.9 at /Users/zoechi/flutter/flutter
    • Framework revision 3d8aec2b99 (30 hours ago), 2018-12-19 20:09:07 -0800
    • Engine revision 5ec8ef8509
    • Dart version 2.2.0 (build 2.2.0-dev.1.1 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /usr/local/opt/android-sdk
    • Android NDK at /usr/local/opt/android-sdk/ndk-bundle
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /usr/local/opt/android-sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[!] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    ✗ Verify that all connected devices have been paired with this computer in Xcode.
      If all devices have been paired, libimobiledevice and ideviceinstaller may require updating.
      To update with Brew, run:
        brew update
        brew uninstall --ignore-dependencies libimobiledevice
        brew uninstall --ignore-dependencies usbmuxd
        brew install --HEAD usbmuxd
        brew unlink usbmuxd
        brew link usbmuxd
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 23.1.2
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] IntelliJ IDEA Ultimate Edition (version 2018.2.5)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 30.0.2
    • Dart plugin version 182.5124

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.0.0 (API 26) (emulator)

! Doctor found issues in 1 category.

@goderbauer
Copy link
Member

@pushangupta can you provide a complete code sample to reproduce that we can just copy and paste to investigate the issue?

@goderbauer goderbauer added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Jan 3, 2019
@pushangupta
Copy link

pushangupta commented Jan 3, 2019

@goderbauer @zoechi
I tried to duplicate the issue on a fresh project. I see that the problem exists while changing the textAlign to anything and then hot-reloading.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  final TextEditingController _username_email_controller =
  new TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Stack(children: <Widget>[
        Center(
          child: ListView(
            shrinkWrap: true,
            children: <Widget>[

              Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Container(
                    decoration: BoxDecoration(
                        border: Border(bottom: BorderSide(color: Colors.black))),
                    height: 50.0,
                    width: double.infinity,
                    margin: EdgeInsets.only(left: 15.0, right: 15.0),
                    child: TextField(
                      controller: _username_email_controller,
                      textAlign: TextAlign.start,//=======> This Line
                      keyboardType: TextInputType.emailAddress,
                      style: TextStyle(
                          color: Colors.black,
                          fontWeight: FontWeight.bold,
                          fontSize: 17.0),
                      decoration: InputDecoration(
                          icon: Icon(
                            Icons.account_box,
                            color: Colors.black,
                          ),
                          hintText: "Username/Email Id",
                          hintStyle: TextStyle(
                              color: Colors.black, fontWeight: FontWeight.bold),
                          border: InputBorder.none),
                    ),
                  ),
                ],
              ),

            ],
          ),
        ),
      ]), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Now change the textAlign to TextAlign.center

and on hot reloading my logs are:

Performing hot reload...
Syncing files to device Redmi Note 5 Pro...
I/flutter (17415): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (17415): The following assertion was thrown during performLayout():
I/flutter (17415): 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 297 pos 12:
I/flutter (17415): '!_needsLayout': is not true.
I/flutter (17415): 
I/flutter (17415): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (17415): more information in this error message to help you determine and fix the underlying cause.
I/flutter (17415): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (17415):   https://github.com/flutter/flutter/issues/new?template=BUG.md
I/flutter (17415): 
I/flutter (17415): When the exception was thrown, this was the stack:
I/flutter (17415): #2      TextPainter.size (package:flutter/src/painting/text_painter.dart:297:12)
I/flutter (17415): #3      RenderEditable.performLayout (package:flutter/src/rendering/editable.dart:1200:47)
I/flutter (17415): #4      RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #5      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #7      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #9      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #10     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #11     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #12     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #13     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #14     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #15     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #16     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #17     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #18     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #19     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #20     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #21     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #22     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #23     _RenderDecoration._layout.layoutLineBox (package:flutter/src/material/input_decorator.dart:815:11)
I/flutter (17415): #24     _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:847:18)
I/flutter (17415): #25     _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:976:44)
I/flutter (17415): #26     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #27     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #28     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #29     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #30     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #31     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #32     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #33     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199:11)
I/flutter (17415): #34     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #35     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #36     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #37     RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:258:13)
I/flutter (17415): #38     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #39     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199:11)
I/flutter (17415): #40     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #41     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
I/flutter (17415): #42     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #43     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #44     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #45     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #46     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #47     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:164:27)
I/flutter (17415): #48     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #49     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182:11)
I/flutter (17415): #50     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #51     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:405:13)
I/flutter (17415): #52     RenderShrinkWrappingViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1645:12)
I/flutter (17415): #53     RenderShrinkWrappingViewport.performLayout (package:flutter/src/rendering/viewport.dart:1608:20)
I/flutter (17415): #54     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #55     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #56     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #57     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #58     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #59     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #60     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #61     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #62     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #63     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #64     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #65     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #66     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #67     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #68     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #69     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #70     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #71     RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:385:13)
I/flutter (17415): #72     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #73     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:510:15)
I/flutter (17415): #74     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #75     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
I/flutter (17415): #76     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:339:7)
I/flutter (17415): #77     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
I/flutter (17415): #78     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
I/flutter (17415): #79     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #80     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #81     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #82     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #83     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1188:11)
I/flutter (17415): #84     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #85     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #86     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #87     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #88     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #89     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #90     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #91     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #92     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #93     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #94     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #95     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #96     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #97     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #98     RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #99     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #100    RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2881:13)
I/flutter (17415): #101    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #102    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:510:15)
I/flutter (17415): #103    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #104    __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #105    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #106    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #107    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #108    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #109    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #110    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #111    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #112    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
Reloaded 1 of 419 libraries in 2,009ms.
I/flutter (17415): #113    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #114    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (17415): #115    RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (17415): #116    RenderView.performLayout (package:flutter/src/rendering/view.dart:147:13)
I/flutter (17415): #117    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1509:7)
I/flutter (17415): #118    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:768:18)
I/flutter (17415): #119    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:281:19)
I/flutter (17415): #120    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:677:13)
I/flutter (17415): #121    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:219:5)
I/flutter (17415): #122    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (17415): #123    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (17415): #124    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
I/flutter (17415): #126    _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
I/flutter (17415): #127    _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
I/flutter (17415): #128    _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
I/flutter (17415): (elided 3 frames from class _AssertionError and package dart:async)
I/flutter (17415): 
I/flutter (17415): The following RenderObject was being processed when the exception was fired:
I/flutter (17415):   RenderEditable#86ac5 relayoutBoundary=up10 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (17415):   creator: _Editable-[GlobalKey#5b574] ← Semantics ← CompositedTransformTarget ← _ScrollableScope ←
I/flutter (17415):   IgnorePointer-[GlobalKey#58e2c] ← Semantics ← Listener ←
I/flutter (17415):   RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#77733] ← RepaintBoundary ←
I/flutter (17415):   CustomPaint ← RepaintBoundary ← NotificationListener<ScrollNotification> ← ⋯
I/flutter (17415):   parentData: <none> (can use size)
I/flutter (17415):   constraints: BoxConstraints(w=322.7, 0.0<=h<=49.0)
I/flutter (17415):   size: Size(322.7, 20.0)
I/flutter (17415):   cursorColor: Color(0xff4285f4)
I/flutter (17415):   showCursor: ValueNotifier<bool>#50da5(false)
I/flutter (17415):   maxLines: 1
I/flutter (17415):   selectionColor: Color(0xff90caf9)
I/flutter (17415):   textScaleFactor: 1.0
I/flutter (17415):   locale: en_US
I/flutter (17415):   selection: TextSelection(baseOffset: -1, extentOffset: -1, affinity: TextAffinity.downstream,
I/flutter (17415):   isDirectional: false)
I/flutter (17415):   offset: ScrollPositionWithSingleContext#56934(offset: 0.0, range: 0.0..0.0, viewport: 322.7,
I/flutter (17415):   ScrollableState, ClampingScrollPhysics -> ClampingScrollPhysics, IdleScrollActivity#b055b,
I/flutter (17415):   ScrollDirection.idle)
I/flutter (17415): This RenderObject has no descendants.
I/flutter (17415): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (17415): Another exception was thrown: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 306 pos 12: '!_needsLayout': is not true.
I/flutter (17415): Another exception was thrown: TextPainter.paint called when text geometry was not yet calculated.

But if I hot restart the app... it resolves

@zoechi zoechi added the t: hot reload Reloading code during "flutter run" label Jan 3, 2019
@goderbauer goderbauer changed the title TextField TextAlign.center error Changing TextField.textAlign crashes during hot reload Jan 3, 2019
@goderbauer goderbauer added c: crash Stack traces logged to the console and removed waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds labels Jan 3, 2019
@BytesZero
Copy link
Author

Flutter v1.1.5 version can not be reproduced

@jhionan
Copy link

jhionan commented Jul 12, 2019

This bug still happens to me on Flutter 1.7.8+hotfix.3

@zodiark23
Copy link

This bug still happens to me on Flutter 1.7.8+hotfix.3

Still happening to me

@kkacquah
Copy link

The error here #36640 seems to be related to this.

@y-sihyeon
Copy link

Still happening to me ... on Flutter 1.7.8+hotfix.4

@KasunKoswattha
Copy link

This is still happening in 1.9.1+hotfix.2. Cloud someone please look at this issue?

@ChinaskiJr
Copy link

Same here with 1.9.1+hotfix.2

@walsha2
Copy link
Contributor

walsha2 commented Sep 28, 2019

Flutter 1.10.7-pre.69 • channel master • https://github.com/flutter/flutter.git
Framework • revision 07e5cf005c (51 minutes ago) • 2019-09-27 18:54:58 -0700
Engine • revision 5b952f286f
Tools • Dart 2.6.0 (build 2.6.0-dev.0.0 6ff8d2199d)

Confirmed as well. Debug build on iOS. Happens each time.

@gauravmishra-17
Copy link

So how do we slove the error?

@EkilDeew
Copy link

Same here 1.9.1+hotfix.5

@humam-xr
Copy link

Same Here its just when change to TextAlign.center

@sheix
Copy link

sheix commented Nov 11, 2019

Happens to me as well... Can it be re-opened?

@s-bauer
Copy link

s-bauer commented Nov 29, 2019

Happens to me too. Fresh flutter installation: v1.9.1+hotfix.6

Starting with

            TextField(
              controller: _captchaController,

            )

and adding or removing the following line

              textAlign: TextAlign.center,

causes

════════ (61) Exception caught by rendering library ════════════════════════════════════════════════
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 765 pos 12: '!_needsLayout': is not true.
User-created ancestor of the error-causing widget was: 
  TextField file:///C:/Source/pr0gramm/lib/main.dart:104:13
════════════════════════════════════════════════════════════════════════════════════════════════════
Reloaded 1 of 576 libraries in 475ms.

════════ Exception caught by rendering library ═════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
Please see the documentation for computeDistanceToActualBaseline for the required calling conventions of this method.
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1843 pos 12: '!_debugDoingBaseline'


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=BUG.md

User-created ancestor of the error-causing widget was: 
  TextField file:///C:/Source/pr0gramm/lib/main.dart:104:13
When the exception was thrown, this was the stack: 
#2      RenderBox.getDistanceToBaseline (package:flutter/src/rendering/box.dart:1843:12)
#3      _RenderDecoration._layoutLineBox (package:flutter/src/material/input_decorator.dart:900:33)
#4      _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:951:34)
#5      _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:1214:44)
#6      RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
...
The following RenderObject was being processed when the exception was fired: _RenderDecoration#1de01 relayoutBoundary=up7 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...  needs compositing
...  parentData: <none> (can use size)
...  constraints: BoxConstraints(0.0<=w<=454.7, 0.0<=h<=Infinity)
...  size: Size(454.7, 43.0)
RenderObject: _RenderDecoration#1de01 relayoutBoundary=up7 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
  needs compositing
  parentData: <none> (can use size)
  constraints: BoxConstraints(0.0<=w<=454.7, 0.0<=h<=Infinity)
  size: Size(454.7, 43.0)
...  input: RenderRepaintBoundary#8e0d6 relayoutBoundary=up8 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    needs compositing
...    parentData: offset=Offset(0.0, 12.0) (can use size)
...    constraints: BoxConstraints(w=454.7, 0.0<=h<=Infinity)
...    layer: OffsetLayer#f0b15
...      offset: Offset(0.0, 399.1)
...    size: Size(454.7, 19.0)
...    metrics: 96.9% useful (1 bad vs 31 good)
...    diagnosis: this is an outstandingly useful repaint boundary and should definitely be kept
...    child: RenderRepaintBoundary#11747 relayoutBoundary=up9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      needs compositing
...      parentData: <none> (can use size)
...      constraints: BoxConstraints(w=454.7, 0.0<=h<=Infinity)
...      layer: OffsetLayer#9447c
...        offset: Offset(0.0, 0.0)
...      size: Size(454.7, 19.0)
...      metrics: 94.7% useful (1 bad vs 18 good)
...      diagnosis: this is an outstandingly useful repaint boundary and should definitely be kept
...      child: RenderCustomPaint#69cdc relayoutBoundary=up10 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        needs compositing
...        parentData: <none> (can use size)
...        constraints: BoxConstraints(w=454.7, 0.0<=h<=Infinity)
...        size: Size(454.7, 19.0)
...        child: RenderRepaintBoundary#68280 relayoutBoundary=up11 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          needs compositing
...          parentData: <none> (can use size)
...          constraints: BoxConstraints(w=454.7, 0.0<=h<=Infinity)
...          layer: OffsetLayer#171ba
...            offset: Offset(0.0, 0.0)
...          size: Size(454.7, 19.0)
...          metrics: 99.5% useful (1 bad vs 206 good)
...          diagnosis: this is an outstandingly useful repaint boundary and should definitely be kept
...  helperError: RenderConstrainedBox#9bfcc relayoutBoundary=up8 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0) (can use size)
...    constraints: BoxConstraints(0.0<=w<=454.7, 0.0<=h<=Infinity)
...    size: Size(0.0, 0.0)
...    additionalConstraints: BoxConstraints(unconstrained)
...  container: RenderCustomPaint#fc779 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0) (can use size)
...    constraints: BoxConstraints(w=454.7, h=43.0)
...    size: Size(454.7, 43.0)
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (2) Exception caught by scheduler library ═════════════════════════════════════════════════
Updated layout information required for RenderRepaintBoundary#8e0d6 relayoutBoundary=up8 NEEDS-LAYOUT NEEDS-PAINT to calculate semantics.
'package:flutter/src/rendering/object.dart':
Failed assertion: line 2523 pos 12: '!_needsLayout'
════════════════════════════════════════════════════════════════════════════════════════════════════

@mdebbar
Copy link
Contributor

mdebbar commented Dec 2, 2019

@s-bauer you probably are using the stable channel of Flutter which didn't receive the fix yet. The fix has landed in master and dev. I'm not sure when the next stable release is happening.

For more information about Flutter channels, please check this wiki page.

@ianpark
Copy link

ianpark commented Dec 6, 2019

Same problem happens when you dynamically change textAlign of TextField regardless of hot reloading. There seems to be a layout management bug in TextField that can be avoided by re-rendering the entire TextField instead of only updating textAlign property hence layout building is re-done.

Based on that idea there is a simple workaround which works quite well and no notable performance issue at all. If you use the TextAlign value as a key TextField will re-render whenever the alignment value changes, and you can avoid the issue. Check out the following example.

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    TextAlign textAlignValue = TextAlign.center;
    return TextField(
      key: Key('$textAlignValue'),
      textAlign: textAlignValue,
    );
  }
}

@mdebbar
Copy link
Contributor

mdebbar commented Dec 6, 2019

@ianpark the issue should be fixed on master, dev and beta channels. I'm curious what version/channel of Flutter are you using?

@ianpark
Copy link

ianpark commented Dec 9, 2019

@ianpark the issue should be fixed on master, dev and beta channels. I'm curious what version/channel of Flutter are you using?

Sure but not everyone can simply upgrade to the latest beta. I had to stick to a stable version 1.7.8 for quite long time due to the dependency / stability issue and now I am on 1.11.0 beta. I put my comment for those who are in the same situation.

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: crash Stack traces logged to the console framework flutter/packages/flutter repository. See also f: labels. t: hot reload Reloading code during "flutter run"
Projects
None yet
Development

Successfully merging a pull request may close this issue.