-
Notifications
You must be signed in to change notification settings - Fork 27.9k
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
various new_gallery__transition_perf
devicelab tests timing out
#114025
Comments
Assigning P2 as it flakes infrequently enough that a re-run will usually fix the tree. |
Comparing a successful vs. unsuccessful run of new_gallery__transition_perf, the driver commands and responses look different:
|
@jmagman recently updated the driver in flutter/gallery#792. @jmagman Do you know how to interpret the vm service messages and responses? |
That sure does look similar to the logs in flutter/gallery#792. Unfortunately those Linux tests don't upload a screenshot on failure so it's not obvious why it's not scrolling into view. In the case of my PR I could see that the iPhone was in landscape which was a pretty big hint, then I could reproduce locally. |
I'm not sure why it's not uploading screenshots for Linux, it should be...
|
In the other case
However here it's waiting the full 30 minutes and being killed at the task level, so doesn't have a chance to save the screenshot. |
Assigning to @christopherfujino to look into the screenshots. |
Since LUCI sends SIGTERM to the currently running process when timing it out, I will try registering a handler in the drive command to take a screenshot when SIGTERM is sent. |
It appears this didn't work, so I will add a flag to allow explicitly specifying a timeout that will ensure the screenshot is taken. |
The gallery driver test includes logic to scroll through various lists of demos in order to transition to each one. These lists include the horizontally-scrolling studies list at the top of the gallery home page, as well as the vertically-scrolling Material, Cupertino, and Other demo lists on the same page. TestDriver.scrollUntilVisible scrolls a parent list widget in increments of dx and/or dy until the specified list item widget is visible. The Studies carousel list at the top of the gallery home screen has scroll physics that snap items to the starting edge of the widget. If the dx scroll distance is too small, the Studies list doesn't scroll far enough and snaps back to its original position. Conversely, if it scrolls too far, it may scroll one widget too far and snap the next widget into place. Instead, we now scroll 75% of the carousel width (empirically determined) as an attempt at a value in the Goldilocks Zone. Related: #792 Related: flutter/flutter#111131 Issue: flutter/flutter#114025
The gallery driver test includes logic to scroll through various lists of demos in order to transition to each one. These lists include the horizontally-scrolling studies list at the top of the gallery home page, as well as the vertically-scrolling Material, Cupertino, and Other demo lists on the same page. TestDriver.scrollUntilVisible scrolls a parent list widget in increments of dx and/or dy until the specified list item widget is visible. The Studies carousel list at the top of the gallery home screen has scroll physics that snap items to the starting edge of the widget. If the dx scroll distance is too small, the Studies list doesn't scroll far enough and snaps back to its original position. Conversely, if it scrolls too far, it may scroll one widget too far and snap the next widget into place. Instead, we now scroll 75% of the carousel width (empirically determined) as an attempt at a value in the Goldilocks Zone. Related: #792 Related: flutter/flutter#111131 Issue: flutter/flutter#114025
The gallery driver test includes logic to scroll through various lists of demos in order to transition to each one. These lists include the horizontally-scrolling studies list at the top of the gallery home page, as well as the vertically-scrolling Material, Cupertino, and Other demo lists on the same page. TestDriver.scrollUntilVisible scrolls a parent list widget in increments of dx and/or dy until the specified list item widget is visible. The Studies carousel list at the top of the gallery home screen has scroll physics that snap items to the starting edge of the widget. If the dx scroll distance is too small, the Studies list doesn't scroll far enough and snaps back to its original position. Conversely, if it scrolls too far, it may scroll one widget too far and snap the next widget into place. Instead, we now scroll 75% of the carousel width (empirically determined) as an attempt at a value in the Goldilocks Zone. Related: #792 Related: flutter/flutter#111131 Issue: flutter/flutter#114025
The gallery driver test includes logic to scroll through various lists of demos in order to transition to each one. These lists include the horizontally-scrolling studies list at the top of the gallery home page, as well as the vertically-scrolling Material, Cupertino, and Other demo lists on the same page. TestDriver.scrollUntilVisible scrolls a parent list widget in increments of dx and/or dy until the specified list item widget is visible. The Studies carousel list at the top of the gallery home screen has scroll physics that snap items to the starting edge of the widget. If the dx scroll distance is too small, the Studies list doesn't scroll far enough and snaps back to its original position. Conversely, if it scrolls too far, it may scroll one widget too far and snap the next widget into place. Instead, we now scroll 75% of the carousel width (empirically determined) as an attempt at a value in the Goldilocks Zone. Related: #792 Related: flutter/flutter#111131 Issue: flutter/flutter#114025
The gallery driver test includes logic to scroll through various lists of demos in order to transition to each one. These lists include the horizontally-scrolling studies list at the top of the gallery home page, as well as the vertically-scrolling Material, Cupertino, and Other demo lists on the same page. TestDriver.scrollUntilVisible scrolls a parent list widget in increments of dx and/or dy until the specified list item widget is visible. The Studies carousel list at the top of the gallery home screen has scroll physics that snap items to the starting edge of the widget. If the dx scroll distance is too small, the Studies list doesn't scroll far enough and snaps back to its original position. Conversely, if it scrolls too far, it may scroll one widget too far and snap the next widget into place. Instead, we now scroll 75% of the carousel width (empirically determined) as an attempt at a value in the Goldilocks Zone. Related: #792 Related: flutter/flutter#111131 Issue: flutter/flutter#114025
dev/devicelab/lib/versions/gallery.dart contains the flutter/gallery repo SHA to be synced during the gallery transitions test. Semantically, it's similar to the engine's DEPS file or a pubspec.yaml in that updates to it are version bumps. This marks this file test exempt in our GitHub web hook. Issue: flutter/flutter#114025
What I hope is a fix for this issue landed in flutter/gallery#824 and rolled to the framework in #114537. Currently waiting to see how the next ~15-20 runs go. |
No flakes in the last 20 runs. I'm going to close this. @christopherfujino is there further work to do on the screenshotting side? If so, we should probably open a new (non-p2) bug dedicated to that work. |
These were marked flaky due to a timeout switching between items in the Studies list at the top of the screen, which had snap-to-item scroll physics. The same flake also affected new_gallery_impeller__transition_perf which was failing with the same flake, though was separately marked flaky due to a separate (engine crash) flake documented in: * flutter#112577 * flutter#112438 Leaving the latter marked flaky for the time being while that separate issue is investigated. Issue: flutter#114025
These were marked flaky due to a timeout switching between items in the Studies list at the top of the screen, which had snap-to-item scroll physics. The same flake also affected new_gallery_impeller__transition_perf which was failing with the same flake, though was separately marked flaky due to a separate (engine crash) flake documented in: * #112577 * #112438 Leaving the latter marked flaky for the time being while that separate issue is investigated. Issue: #114025
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 |
For example:
[Linux_android new_gallery__transition_perf](https://ci.chromium.org/p/flutter/builders/prod/Linux_android%20new_gallery__transition_perf)
[Linux_samsung_s10 new_gallery__transition_perf](https://ci.chromium.org/p/flutter/builders/prod/Linux_samsung_s10%20new_gallery__transition_perf)
The text was updated successfully, but these errors were encountered: