Giter VIP home page Giter VIP logo

Comments (10)

JAicewizard avatar JAicewizard commented on July 22, 2024 1

The test is really flaky, I have not yet been able to reproduce this locally (but I also don't have access to a macos machine, so it might be difficult). I updated CI to 3.22.2, but since it is quite flaky on this small example it may take a day (or 2) of trying to get it to work

from flutter.

dkwingsmt avatar dkwingsmt commented on July 22, 2024 1

I think the main error is "Matrix4 entries must be finite.". The most straightforward evidence is that this is the only error that's in common in both the first log and the second log, and that this error is the first error of both files.

All following errors seem to be caused by the state inconsistency caused by the interruption of the main error.

I haven't read carefully your project code and test code, but I suspect that the problem is what the error reads (and thus a problem on your side): your test code pushed a transform matrix that contains infinite values.

I noticed that in both logs this error comes after "wheyy3", meaning after the test ends. This probably means that you somehow pushed a frame after the test ends (maybe some callback is still pending), at which time the rendering tree has been destroyed, and transform matrices reset, hence the error. (This will explain why the error is so rare and the "following" errors in the two logs are different.)

from flutter.

huycozy avatar huycozy commented on July 22, 2024

Hi @JAicewizard
What is the target platform? I ran the test on Android but it's stuck and can't be finished. Does this issue reproduce on local machine?

00:15 +0: loading /Users/huynq/Documents/NEVERCODE.IO/RepoduceProjects/OPClone/Reaxit/integration_test/main.dart                                                                                            15.2s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
00:17 +0: loading /Users/huynq/Documents/NEVERCODE.IO/RepoduceProjects/OPClone/Reaxit/integration_test/main.dart                                                                                                 I00:20 +0: loading /Users/huynq/Documents/NEVERCODE.IO/RepoduceProjects/OPClone/Reaxit/integration_test/main.dart                                                                                          2,863ms
07:07 +0: loading /Users/huynq/Documents/NEVERCODE.IO/RepoduceProjects/OPClone/Reaxit/integration_test/main.dart   

from flutter.

JAicewizard avatar JAicewizard commented on July 22, 2024

Ah sorry, this is the macos-13 image on github, using the iPhone 15 Pro Simulator (17.2) simulator. To run the tests, run flutter drive --driver=test_driver/integration_test.dart --target=integration_test/main.dart . Sorry the bug report was missing some essential info, I haven't had a lot of time lately to work on this.

from flutter.

huycozy avatar huycozy commented on July 22, 2024

I checked this on my machine macOS 14.1 and iPhone 15 Pro, iOS 17.4 simulator but all tests are passed:

...
flutter: 11:34 +107: AlbumScreen can load an album with 1 photo
flutter: wheyy0
flutter: wheyy
flutter: wheyy1
flutter: wheyy2
flutter: wheyy3
flutter: 11:40 +108: (tearDownAll)
flutter: 11:40 +109: All tests passed!
All tests passed.

I'm using the latest Flutter stable 3.22.2. What is the Flutter version on your CI? Can you check this in local machine and confirm?

from flutter.

JAicewizard avatar JAicewizard commented on July 22, 2024

After many (many) issues with github runners just cancelling my jobs due to connectivity issues, I got it to reproduce on 3.22.2. I have not yet got it to work on a real mac

from flutter.

JAicewizard avatar JAicewizard commented on July 22, 2024

Below are the logs, but the action got cancelled again, so I can't download them. (I also notice that it didn't copy all the way :/). I will also post logs using -v when available, if you find that useful.

logs
Resolving dependencies...
Downloading packages...
  collection 1.18.0 (1.19.0 available)
  leak_tracker 10.0.4 (10.0.5 available)
  leak_tracker_flutter_testing 3.0.3 (3.0.5 available)
  material_color_utilities 0.8.0 (0.12.0 available)
  meta 1.12.0 (1.15.0 available)
  platform 3.1.4 (3.1.5 available)
  test_api 0.7.0 (0.7.2 available)
  vm_service 14.2.1 (14.2.4 available)
Got dependencies!
8 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Updating minimum iOS deployment target to 12.0.
Upgrading project.pbxproj
Upgrading AppFrameworkInfo.plist
Upgrading Podfile
Updating project for Xcode compatibility.
Upgrading project.pbxproj
Upgrading Runner.xcscheme
Running pod install...                                           2,151ms
Running Xcode build...                                          
Xcode build done.                                           40.6s
VMServiceFlutterDriver: Connecting to Flutter application at http://127.0.0.1:50249/a0KrzOcVo1E=/
VMServiceFlutterDriver: The root isolate is taking an unusually long time to start.
VMServiceFlutterDriver: Isolate found with number: 8113332752713639
VMServiceFlutterDriver: Isolate is paused at start.
VMServiceFlutterDriver: Attempting to resume isolate
flutter: 00:00 +0: AlbumScreen can load an album with 1 photo
VMServiceFlutterDriver: Connected to Flutter application.
VMServiceFlutterDriver: request_data message is taking a long time to complete...
flutter: ══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during a scheduler callback:
flutter: Matrix4 entries must be finite.
flutter: 'dart:ui/painting.dart':
flutter: Failed assertion: line 42 pos 10: '<optimized out>'
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=2_bug.yml
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown while executing callbacks for FrameTiming:
flutter: 'package:flutter/src/widgets/binding.dart': Failed assertion: line 1114 pos 16:

from flutter.

JAicewizard avatar JAicewizard commented on July 22, 2024

Here is a full log of flutter drive -v .... Since the runner once gain disconnected, I cannot provide more more of the log, but this should be pretty much all that is needed.

EDIT: I notice the the logs are completely missing parts, which is really annoying. Likely because copy-pasting from the log doesn't work

EDIT2: managed to copy all the available logs

tmp.txt

from flutter.

huycozy avatar huycozy commented on July 22, 2024

Thanks for providing the logs. I see the exception below that I think it's the main error:

[+15869 ms] flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞═════════════════════════════════════════════════════════
[        ] flutter: The following assertion was thrown while executing callbacks for FrameTiming:
[        ] flutter: 'package:flutter/src/widgets/binding.dart': Failed assertion: line 1114 pos 16:
[        ] flutter: 'debugFrameWasSentToEngine': 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=2_bug.yml
[        ] flutter:
[        ] flutter: When the exception was thrown, this was the stack:
[        ] flutter: #2      WidgetsBinding.drawFrame.<anonymous closure> (package:flutter/src/widgets/binding.dart:1114:16)
[        ] flutter: #3      SchedulerBinding._executeTimingsCallbacks (package:flutter/src/scheduler/binding.dart:343:19)
[        ] flutter: #4      _invoke1 (dart:ui/hooks.dart:328:13)
[        ] flutter: #5      PlatformDispatcher._reportTimings (dart:ui/platform_dispatcher.dart:611:5)
[        ] flutter: #6      _reportTimings (dart:ui/hooks.dart:278:31)
[        ] flutter: (elided 2 frames from class _AssertionError)
[        ] flutter:
[        ] flutter: The TimingsCallback that gets executed was:
[        ] flutter:   Closure: (List<FrameTiming>) => void

It looks similar to #89651 but I see a change since some months ago at e316022 related to the trace on debugFrameWasSentToEngine assertion. cc: @dkwingsmt for your input.

This may only happen in CI environment as I couldn't reproduce this in local machine. Labeling this for other's thoughts.

from flutter.

JAicewizard avatar JAicewizard commented on July 22, 2024

Here I have a counter-example where it happens before wheyy0:

VMServiceFlutterDriver: Connecting to Flutter application at http://127.0.0.1:52482/tKcoWj5ardA=/
VMServiceFlutterDriver: Isolate found with number: 8796867826746983
VMServiceFlutterDriver: Isolate is paused at start.
VMServiceFlutterDriver: Attempting to resume isolate
flutter: 00:00 +0: AlbumScreen can load an album with 1 photo
VMServiceFlutterDriver: Connected to Flutter application.
VMServiceFlutterDriver: request_data message is taking a long time to complete...
flutter: ══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during a scheduler callback:
flutter: Matrix4 entries must be finite.
flutter: 'dart:ui/painting.dart':
  The test description was: can load an album with 1 photo
flutter:
flutter: 00:13 +0 -1: AlbumScreen can load an album with 1 photo
flutter: wheyy0
flutter: wheyy
flutter: wheyy1
flutter: wheyy2
flutter: wheyy3
flutter: 00:20 +1 -1: AlbumScreen can load an album with 1 photo
flutter: wheyy0
flutter: wheyy
flutter: wheyy1
flutter: wheyy2
flutter: wheyy3
flutter: 00:26 +2 -1: AlbumScreen can load an album with 1 photo
flutter: wheyy0
flutter: wheyy
flutter: wheyy1
flutter: wheyy2
flutter: wheyy3
flutter: 00:33 +3 -1: AlbumScreen can load an album with 1 photo
flutter: wheyy0
flutter: wheyy
flutter: wheyy1
flutter: wheyy2
flutter: wheyy3
flutter: 00:39 +4 -1: AlbumScreen can load an album with 1 photo

I think I've had this happen at various stages throughout the test

from flutter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.