New issue
Advanced search Search tips

Issue 860353 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Team-Accessibility



Sign in to add a comment

SelectToSpeakMouseSelectionTest is flaky

Project Member Reported by chromium...@appspot.gserviceaccount.com, Jul 4

Issue description

"SelectToSpeakMouseSelectionTest.SpeaksNodeAfterTrayTapAndMouseClick" is flaky.

This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label.

We have detected 3 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyTgsSBUZsYWtlIkNTZWxlY3RUb1NwZWFrTW91c2VTZWxlY3Rpb25UZXN0LlNwZWFrc05vZGVBZnRlclRyYXlUYXBBbmRNb3VzZUNsaWNrDA.

Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs
 
Cc: katie@chromium.org
Components: UI>Accessibility>SelectToSpeak
Status: Available (was: Untriaged)
Summary: SelectToSpeakMouseSelectionTest is flaky (was: "SelectToSpeakMouseSelectionTest.SpeaksNodeAfterTrayTapAndMouseClick" is flaky)
Many of SelectToSpeakMouseSelectionTest look flaky on Linux release build.
https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=select_to_speak_extension_tests&tests=SelectToSpeakMouseSelectionTest

Cc: -katie@chromium.org
Owner: katie@chromium.org
Status: Assigned (was: Available)
This is a list of failing tests.
I'm not familiar with tests written in *.extjs, so could you disable the tests on Linux release?

SelectToSpeakMouseSelectionTest.CancelsSelectionModeWithStateChange
SelectToSpeakMouseSelectionTest.CancelsSpeechWithTrayTap
SelectToSpeakMouseSelectionTest.SpeaksAcrossNodesInAParagraph
SelectToSpeakMouseSelectionTest.SpeaksMultipleNodesWhenDragged
SelectToSpeakMouseSelectionTest.SpeaksNodeAfterTrayTapAndMouseClick
SelectToSpeakMouseSelectionTest.SpeaksNodeWhenClicked

Log from a non-flaky run:
https://logs.chromium.org/v/?s=chromium%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8941858208669794960%2F%2B%2Fsteps%2Fselect_to_speak_extension_tests%2F0%2Fstdout

Log from a flaky run:
https://logs.chromium.org/v/?s=chromium%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8941866031157452816%2F%2B%2Fsteps%2Fselect_to_speak_extension_tests%2F0%2Fstdout

The errors look like this:
TypeError: Error in invocation of automation.setDocumentSelection(automation.SetDocumentSelectionParams params): Error at parameter 'params': Missing required property 'anchorObject'.
    at SelectToSpeakKeystrokeSelectionTest.<anonymous> (file:///b/s/w/ir/out/Release/test_data/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_keystroke_selection_test.extjs:8606:27)
    at CallbackHelper.<anonymous> (file:///b/s/w/ir/out/Release/test_data/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_keystroke_selection_test.extjs:8315:16)
...

So it seems that whatever gets passed as 'anchorObject' is not there (yet), which could *maybe* suggest that runWithLoadedTree is invoking its callback to early?

Could maybe the 'focus' event arrive before 'loadComplete'?
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5dbb8f7b2e31f88c9c6a558df583ee98eacbf8e4

commit 5dbb8f7b2e31f88c9c6a558df583ee98eacbf8e4
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Jul 05 13:46:41 2018

Speculative change to reduce flakiness in select_to_speak tests

Ensure that loadComplete has fired on the created tab before proceeding.

TBR=katie@chromium.org

Bug:  860353 
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: I1ba96b86aa6523de7a9e8e807f27d4962da375dc
Reviewed-on: https://chromium-review.googlesource.com/1126937
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572779}
[modify] https://crrev.com/5dbb8f7b2e31f88c9c6a558df583ee98eacbf8e4/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_e2e_test_base.js

Labels: -Sheriff-Chromium
Cc: pmarko@chromium.org
Looks like the change has reduced flakes but has not prevented them completely yet:
https://screenshot.googleplex.com/xK2zXfB4mSZ

I've marked the range where the CL is in effect with rectangles.
I've taken a look at failures after the CL has been in effect, and indeed they're of a different kind:
E1: Error: Called more than once, first call here: Error
    at CallbackHelper.<anonymous> (file:///b/s/w/ir/out/Release/test_data/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_mouse_selection_test.extjs:8313:20)
(e.g. https://logs.chromium.org/v/?s=chromium%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8941811070851854368%2F%2B%2Fsteps%2Fselect_to_speak_extension_tests%2F0%2Fstdout )

So it seems that the url check / setting |callback| to null was there for a reason. I'll bring that part back and will continue to observe.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4e4858ce7b5a2d4556e795be7d69bf67ebc83451

commit 4e4858ce7b5a2d4556e795be7d69bf67ebc83451
Author: Pavol Marko <pmarko@chromium.org>
Date: Fri Jul 06 13:36:53 2018

select_to_speak tests: Prevent double callback calls

Prevent double-callback calls that seem to lead to flakiness.

Note: This used to be in |runWithLoadedTree| before CL:1126937 and is
being brought back here.

TBR=katie@chromium.org

Bug:  860353 
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: I1c740ef6b47a555248b51833468da43b5872075e
Reviewed-on: https://chromium-review.googlesource.com/1127890
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572956}
[modify] https://crrev.com/4e4858ce7b5a2d4556e795be7d69bf67ebc83451/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_e2e_test_base.js

Cc: dtseng@chromium.org
Seems that the flakiness has been eliminated.
Leaving this open
- for OWNERs to verify if the change seems sane
- in case we want the same change for chromevox_next_e2e_test_base.js (although flakes don't seem to occur much there [1]).

[1] https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=chromevox_tests&tests=EditingTest
Thanks pmarko@ for taking care of this -- I was OOO during that time! The changes to the Select-to-Speak extension test LGTM. I'll let dtseng@ speak to chromevox.


Cc: -dtseng@chromium.org katie@chromium.org
Owner: dtseng@chromium.org
Reassigning to David for the Chromevox test.
Status: fixed (was: Assigned)
Looks fine with me even though the test code diverged (more) from chromevox. Mixing signals from chrome.tabs and chrome.automation might be problematic in the future as they come from separate ipc's, but I'm glad it resolved the flakes.

Sign in to add a comment