Repository navigation
[team] flutter_gallery_ios32__transition_perf flakes "Original error: Bad state: The client closed with pending request "ext.flutter.driver"" #60559
Copy link
Copy link
Closed
Labels
P0Critical issues such as a build break or regressionCritical issues such as a build break or regressionc: contributor-productivityTeam-specific productivity, code health, technical debt.Team-specific productivity, code health, technical debt.c: flakeTests that sometimes, but not always, incorrectly passTests that sometimes, but not always, incorrectly passframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.platform-iosiOS applications specificallyiOS applications specificallyteam-infraOwned by Infrastructure teamOwned by Infrastructure team
Milestone
Description
This test passes locally in attempts by myself and @jmagman, but failed twice in the devicelab, while passing on a third try (all on the same host, mac 11. This is a subset of the devicelab logs:
2020-06-29T13:35:45.473687: stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.479773: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.487072: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.497545: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.502830: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.536602: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.549874: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.551607: stdout:
2020-06-29T13:35:45.551681: stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.555817: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.562232: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.568375: stdout:
stdout: [VERBOSE0:compositor_context.cc(89)] Using SaveLayer to protect non-readback surface
2020-06-29T13:35:45.574812: stdout:
stdout: flutter: > VideoDemo initController "butterfly"
2020-06-29T13:35:45.586061: stdout:
stdout: flutter: > VideoDemo initController "bee"
2020-06-29T13:35:45.592605: stdout:
stdout: flutter: > VideoDemo dispose
2020-06-29T13:35:45.598697: stdout:
stdout: flutter: < VideoDemo dispose
2020-06-29T13:35:45.604924: stdout:
stdout: flutter: > VideoDemo initController "butterfly"
2020-06-29T13:35:45.631057: stdout:
stdout: flutter: > VideoDemo initController "bee"
2020-06-29T13:35:45.642029: stdout:
stdout: flutter: > VideoDemo dispose
2020-06-29T13:35:45.650979: stdout:
stdout: flutter: < VideoDemo dispose
2020-06-29T13:36:56.570709: stdout: Xcode build done. 72.5s
2020-06-29T13:37:34.524157: stdout: dart:async/schedule_microtask.dart 50:5 _startMicrotaskLoop
stdout: dart:isolate-patch/isolate_patch.dart 118:13 _runPendingImmediateCallback
stdout: dart:isolate-patch/timer_impl.dart 404:11 _Timer._runTimers
stdout: dart:isolate-patch/timer_impl.dart 428:5 _Timer._handleMessage
stdout: dart:isolate-patch/isolate_patch.dart 168:12 _RawReceivePortImpl._handleMessage
stdout:
stdout:
2020-06-29T13:37:34.525599: stdout: DriverError: Failed to fulfill Scroll due to remote error
stdout: Original error: Bad state: The client closed with pending request "ext.flutter.driver".
stdout: Original stack trace:
stdout: #0 new Client.withoutJson.<anonymous closure> (package:json_rpc_2/src/client.dart:70:24)
stdout: #1 StackZoneSpecification._run (package:stack_trace/src/stack_zone_specification.dart:209:15)
stdout: #2 StackZoneSpecification._registerCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:119:48)
stdout: #3 _rootRun (dart:async/zone.dart:1182:47)
stdout: #4 _CustomZone.run (dart:async/zone.dart:1093:19)
stdout: #5 _FutureListener.handleWhenComplete (dart:async/future_impl.dart:167:18)
stdout: #6 Future._propagateToListeners.handleWhenCompleteCallback (dart:async/future_impl.dart:666:39)
stdout: #7 Future._propagateToListeners (dart:async/future_impl.dart:722:37)
stdout: #8 Future._propagateToListeners (dart:async/future_impl.dart:621:9)
stdout: #9 Future._completeWithValue (dart:async/future_impl.dart:529:5)
stdout: #10 Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
stdout: #11 StackZoneSpecification._run (package:stack_trace/src/stack_zone_specification.dart:209:15)
stdout: #12 StackZoneSpecification._registerCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:119:48)
stdout: #13 _rootRun (dart:async/zone.dart:1190:13)
2020-06-29T13:37:34.526147: stdout: #14 _CustomZone.run (dart:async/zone.dart:1093:19)
stdout: #15 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
stdout: #16 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
stdout: #17 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
stdout: #18 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
stdout: #19 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
2020-06-29T13:37:34.526386: stdout: #20 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0Critical issues such as a build break or regressionCritical issues such as a build break or regressionc: contributor-productivityTeam-specific productivity, code health, technical debt.Team-specific productivity, code health, technical debt.c: flakeTests that sometimes, but not always, incorrectly passTests that sometimes, but not always, incorrectly passframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.platform-iosiOS applications specificallyiOS applications specificallyteam-infraOwned by Infrastructure teamOwned by Infrastructure team
Activity
christopherfujino commentedon Jun 30, 2020
A similar failure occurred previous to my PR landing in f6cd2d4, so I am considering this a flake and will re-land.
[-][team] flutter_gallery_ios32__transition_perf failed in devicelab with new ios binaries, passes locally[/-][+][team] flutter_gallery_ios32__transition_perf flakes "Original error: Bad state: The client closed with pending request "ext.flutter.driver""[/+]tvolkert commentedon Jul 17, 2020
This has happened 22 out of the last 24 runs of the test. I'm going to mark the test as flaky and set the priority of this at P2 (where the customer is the Flutter team).
Mark flutter_gallery_ios32__transition_perf as flaky (#61698)
11 remaining items
Mark flutter_gallery_ios32__transition_perf as flaky (flutter#61698)
goderbauer commentedon Aug 26, 2020
I see that #62064 landed. Did that help?
liyuqian commentedon Aug 26, 2020
According to this table, flutter_gallery__transition_perf_e2e_ios32's flaky rate is about 2% while flutter_gallery_ios32__transition_perf's flaky rate is about 10%.
Most perf metrics seems to be quite close between flutter_gallery__transition_perf_e2e_ios32 and flutter_gallery_ios32__transition_perf, except the worst rasterization time.
The worst rasterization time is bi-modal and it seems that the e2e version is more likely to get the slower time.
If we're Ok with those metrics and the non-e2e version is too flaky, we can probably close this by turning off the non-e2e tests and only preserve the e2e test. CC @CareF
CareF commentedon Aug 27, 2020
I think the worst rasterization time is a very unstable number when changing detailed implementation: this is not smoothed by other samples and as long as there's a single crazy frame this number changes significantly. I would trust more on the my result with
FrameTiming, since in the old test the times are calculated from timestamps, and the number of the frame building time and rasterization time samples are not always agree, I have reason to doubt if we get any mixing of timeline events for the old numbers.zanderso commentedon Aug 27, 2020
Do we know the root cause of the worst rasterization time being bimodal?
liyuqian commentedon Aug 28, 2020
I believe the bimodal benchmark is caused by #64781. I also created another issue #64778 for the difference between e2e and flutter_driver perf tests. That difference should be fixed by #64780.
Mark flutter_gallery_ios32__transition_perf as flaky (flutter#61698)
Remove flutter_gallery_ios32__transition_perf test
liyuqian commentedon Sep 8, 2020
#65415 should fix this.
Copied from the PR description of #65415:
github-actions commentedon Aug 12, 2021
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
flutter doctor -vand a minimal reproduction of the issue.