Skip to content

[iOS] : SingleChildScrollView is causing a crash after hot-restart on ipad running iOS 18 #163999

@CripyIce

Description

@CripyIce

Steps to reproduce

  1. Create new project using Flutter 3.29.0.
  2. Change the default Scaffold's body to SingleChildScrollView with any child inside.
  3. Run the app on iPad Pro 13-inch(M4) iOS 18.3 (or any other iPad as it happens only on iPads) simulator and re-run it (using Hot Restart) and the app will crash without any errors thrown.
  4. Change SingleChildScrollView to any other child and repeat stage 3 and it won't happen.
  5. Running the app on any other simulator (iPhone for example) works fine.
  6. Running the app using Flutter 3.27.4 seems to work just fine.

Expected results

The app should hot restart without any crashes.

Actual results

The app crashes using hot restart.

Code sample

Code sample
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(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text('Title'),
      ),
      body: SingleChildScrollView(
        child: Text(
            'Now that i ran for the first time, try to hot restart and see the crash.'),
      ),
    );
  }
}

Screenshots or Video

Logs

No response

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.29.0, on macOS 15.3.1 24D70 darwin-arm64, locale en-IL) [632ms]
    • Flutter version 3.29.0 on channel stable at /Users/eitanaflalo/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 35c388afb5 (2 weeks ago), 2025-02-10 12:48:41 -0800
    • Engine revision f73bfc4522
    • Dart version 3.7.0
    • DevTools version 2.42.2

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [2.5s]
    • Android SDK at /Users/eitanaflalo/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2) [1,080ms]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16C5032a
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web [7ms]
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2) [7ms]
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 21.0.5+-12932927-b750.29)

[✓] VS Code (version 1.97.2) [7ms]
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (4 available) [5.8s]
    • Eitan’s iPhone (wireless) (mobile) • 00008110-0018283E2E53801E • ios            • iOS 18.3.1 22D72
    • macOS (desktop)                    • macos                     • darwin-arm64   • macOS 15.3.1 24D70 darwin-arm64
    • Mac Designed for iPad (desktop)    • mac-designed-for-ipad     • darwin         • macOS 15.3.1 24D70 darwin-arm64
    • Chrome (web)                       • chrome                    • web-javascript • Google Chrome 133.0.6943.127

[✓] Network resources [400ms]
    • All expected network resources are available.

• No issues found!

Metadata

Metadata

Labels

c: crashStack traces logged to the consolec: regressionIt was better in the past than it is nowf: scrollingViewports, list views, slivers, etc.found in release: 3.29Found to occur in 3.29found in release: 3.30Found to occur in 3.30has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versiont: hot reloadReloading code during "flutter run"team-iosOwned by iOS platform team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions