-
Notifications
You must be signed in to change notification settings - Fork 26.8k
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
Mac tool_integration_tests_3_4 is 2.02% flaky #146879
Comments
These look very similar to #145812 (comment), but
|
[prod pool] flaky ratio for the past (up to) 100 commits between 2024-04-23 and 2024-04-30 is 1.01%. Flaky number: 1; total number: 99. Recent test runs: |
In service of #146879 and #145812. In these issues, we see what appears to be the flutter tool getting stuck somewhere during hot reload. It may help if we knew were exactly where we are getting stuck (preparing assets, writing them to device, etc.). This PR adds a new parameter to `FlutterTestDriver::run`, `verbose`. When verbose is set, `FlutterTestDriver` will run `flutter` with `--verbose` in its tests. Keep in mind that `FlutterTestDriver` only prints logs from `flutter` when a test fails, so this shouldn't spam the logs of passing tests. This PR sets the parameter when invoking the flaky tests from #146879 and #145812, so we should see more detailed logs in future flakes. While this is a low risk PR, you can verify the change by intentionally breaking hot reload code, clearing the cached tool binaries, and then running either of these tests.
[prod pool] flaky ratio for the past (up to) 100 commits between 2024-05-01 and 2024-05-07 is 1.01%. Flaky number: 1; total number: 99. Recent test runs: |
Here is a recent failure (5/4): https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20tool_integration_tests_3_4/16348/overview and a quick link to one of the flaky tests: flutter/packages/flutter_tools/test/integration.shard/vmservice_integration_test.dart Line 77 in 13beab1
From the logs, it seems we get to stuck somewhere in Interestingly, if I'm reading things correctly, it appears that the app restart just fine since we see the app print twice:
I'll be adding some more traces very soon to try to narrow down where we get stuck. |
In service of #146879 and #145812. This PR adds some more traces to help us figure out where we are getting blocked. See #146879 (comment) for more context.
With #147997 landing, we are getting some new information here. Here is an example (quick link to logs). In the logs, we see we get far enough to print Footnotes
|
I tried running the test locally with a working emulator. Even then, |
In service of #146879. See #146879 (comment) in particular for the purpose of this PR. This adds a few more `printTrace` calls to try to see where we are getting stuck.
From the logs of a recent failure, I see
Here is the definition of this future for quick reference: flutter/packages/flutter_tools/lib/src/vmservice.dart Lines 580 to 582 in 7d26350
The next step is to figure out why we are rarely not getting an |
In service of #146879. See #146879 (comment). I wonder if something is going wrong in the process of subscribing to the isolate event stream in the VM service. This adds a print trace to the `catch` clause of this subscription call.
Downgrading to P1 since flakiness is under the 2% treshold. |
Another more recent log with more prints. Here we see Reading the logs more carefully, I see the
Here is what is printing this:
This appears after we make the flutter/packages/flutter_tools/lib/src/vmservice.dart Lines 580 to 582 in 7d26350
This begs the question: is something wrong with |
…48596) In service of #146879. Please see #146879 (comment). In summary, when the test flakes, `onRunnable` is not completing despite the VmService object receiving an `IsolateRunnable` event. This PR adds some logging code to print all events received inside of `FlutterVmService::runInView`.
[prod pool] flaky ratio for the past (up to) 100 commits between 2024-05-14 and 2024-05-21 is 0.00%. Flaky number: 0; total number: 100. |
[prod pool] flaky ratio for the past (up to) 100 commits between 2024-05-21 and 2024-05-28 is 0.00%. Flaky number: 0; total number: 98. |
[prod pool] flaky ratio for the past (up to) 100 commits between 2024-05-28 and 2024-06-04 is 0.00%. Flaky number: 0; total number: 99. |
…logged incoming messages (#149756) In service of #146879. In summary, a bunch of `printTrace` calls were added to try to troubleshoot this flake, but the flake has stopped happening. This PR more-or-less reverts #148596, since this was the only change that could have _theoretically_ (somehow maybe) stopped the flake. I'll consider reverting the rest of the `printTrace` calls if the flake does not reappear after this PR lands.
[prod pool] flaky ratio for the past (up to) 100 commits between 2024-06-05 and 2024-06-11 is 0.00%. Flaky number: 0; total number: 95. |
The post-submit test builder
Mac tool_integration_tests_3_4
had a flaky ratio 2.02% for the past (up to) 100 commits, which is above our 2.00% threshold.One recent flaky example for a same commit: https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20tool_integration_tests_3_4/16001
Commit: c3445dc
Flaky builds:
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20tool_integration_tests_3_4/16001
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20tool_integration_tests_3_4/15916
Recent test runs:
https://flutter-dashboard.appspot.com/#/build?taskFilter=Mac%20tool_integration_tests_3_4
Please follow https://github.com/flutter/flutter/wiki/Reducing-Test-Flakiness#fixing-flaky-tests to fix the flakiness and enable the test back after validating the fix (internal dashboard to validate: go/flutter_test_flakiness).
The text was updated successfully, but these errors were encountered: