Skip to content

Cupertino back swipe crashes when animating from the end position #27333

@droidery

Description

@droidery

Steps to Reproduce

ezgif-5-436ed17eccb3

Video: https://i.imgur.com/cigcsWT.mp4

  1. Install Gallery sample app in iOS emulator
  2. Open any iOS demo
  3. Swipe back and forth until error
  4. Once the error occurs you can no longer swipe back.

Logs

flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
flutter: The following assertion was thrown while handling a gesture:
flutter: 'package:flutter/src/cupertino/route.dart': Failed assertion: line 637 pos 12:
flutter: 'controller.isAnimating': 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?template=BUG.md
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      _CupertinoBackGestureController.dragEnd (package:flutter/src/cupertino/route.dart:637:12)
flutter: #3      _CupertinoBackGestureDetectorState._handleDragEnd (package:flutter/src/cupertino/route.dart:507:28)
flutter: #4      DragGestureRecognizer.didStopTrackingLastPointer.<anonymous closure> (package:flutter/src/gestures/monodrag.dart:255:45)
flutter: #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:120:24)
flutter: #6      DragGestureRecognizer.didStopTrackingLastPointer (package:flutter/src/gestures/monodrag.dart:255:9)
flutter: #7      OneSequenceGestureRecognizer.stopTrackingPointer (package:flutter/src/gestures/recognizer.dart:249:9)
flutter: #8      OneSequenceGestureRecognizer.stopTrackingIfPointerNoLongerDown (package:flutter/src/gestures/recognizer.dart:258:7)
flutter: #9      DragGestureRecognizer.handleEvent (package:flutter/src/gestures/monodrag.dart:193:5)
flutter: #10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
flutter: #11     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
flutter: #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:214:19)
flutter: #13     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:192:22)
flutter: #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:149:7)
flutter: #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
flutter: #16     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
flutter: #20     _invoke1 (dart:ui/hooks.dart:203:10)
flutter: #21     _dispatchPointerDataPacket (dart:ui/hooks.dart:138:5)
flutter: (elided 5 frames from class _AssertionError and package dart:async)
flutter:
flutter: Handler: onEnd
flutter: Recognizer:
flutter:   HorizontalDragGestureRecognizer#f7fde(debugOwner:
flutter:   _CupertinoBackGestureDetectorState<dynamic>#f1e2d, start behavior: down)
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
Analyzing flutter_gallery...
No issues found! (ran in 5.7s)
[✓] Flutter (Channel master, v1.2.1-pre.50, on Mac OS X 10.14.2, locale en-US)
    • Flutter version 1.2.1-pre.50 at /Users/droidery/flutter
    • Framework revision dbd1b317ff (76 minutes ago), 2019-01-30 21:31:44 -0500
    • Engine revision 15f2b92cce
    • Dart version 2.1.1 (build 2.1.1-dev.3.2 71bee8f05e)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/droidery/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • 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-1248-b01)
    • 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.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 31.3.3
    • Dart plugin version 182.5124
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] IntelliJ IDEA Community Edition (version 2018.3.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 32.0.3
    • Dart plugin version 183.5429.25

[✓] VS Code (version 1.30.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.22.2

[✓] Connected device (1 available)
    • iPhone SE • 58F34A3E-1576-453E-B1B4-3DCB22E1FEDD • ios • iOS 12.1 (simulator)

Metadata

Metadata

Assignees

Labels

c: contributor-productivityTeam-specific productivity, code health, technical debt.c: crashStack traces logged to the consolecustomer: galleryRelating to flutter/gallery repository. Please transfer non-framework issues there.f: cupertinoflutter/packages/flutter/cupertino repositoryf: routesNavigator, Router, and related APIs.frameworkflutter/packages/flutter repository. See also f: labels.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions