Skip to content

[ANR] Curves.easeOut.transform({value>1.0}) triggers ANR #171364

@shashikantdurge

Description

@shashikantdurge

Steps to reproduce

  1. Create a button:
  FilledButton(
        onPressed: () {
          Curves.easeOut.transform(2.0);
        },
        child: Text("ANR Test"),
      ),
  1. Run the app in release mode on any Oneplus/Vivo/oppo devices and press the button. The while loop in Cubic.transformInternal runs indefinitely
  2. Touch anything on the app
  3. You'll see You app not responding

Expected results

Throw an exception or resolve the loop/ANR

Actual results

The code Cubic.transformInternal > while loop runs indefinitely

Code sample

Code sample
  FilledButton(
        onPressed: () {
          Curves.easeOut.transform(2.0);
        },
        child: Text("ANR Test"),
      ),

Screenshots or Video

Screenshots / Video demonstration

Image

Logs

Logs of Cubic.transformInternal
I/flutter (32736): Cubic: start=1.0, end=1.0, t=2.0
I/flutter (32736): Cubic: start=1.0, end=1.0, t=2.0

...

Flutter Doctor output

Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.29.3, on macOS 15.5 24F74 darwin-arm64, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS and macOS development.
      Download at: https://developer.apple.com/xcode/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is a package manager for iOS or macOS platform code.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/to/platform-plugins
      For installation instructions, see https://guides.cocoapods.org/using/getting-started.html#installation
[✓] Chrome - develop for the web
[✓] Android Studio (version 2025.1)
[✓] Connected device (3 available)
[✓] Network resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: animationAnimation APIsa: error messageError messages from the Flutter frameworkc: crashStack traces logged to the consolec: fatal crashCrashes that terminate the processfound in release: 3.32Found to occur in 3.32found in release: 3.33Found to occur in 3.33frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy