Bug 127323

Summary: platform/mac/accessibility/iframe-aria-hidden.html is flaky
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: AccessibilityAssignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, jcraig, jdiggs, kling, koivisto, mario, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
proposed patch none

Description Alexey Proskuryakov 2014-01-20 16:58:53 PST
platform/mac/accessibility/iframe-aria-hidden.html always fails on the first attempt on WebKit2 bots, and only passes on retry:

http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=platform%2Fmac%2Faccessibility%2Fiframe-aria-hidden.html

PASS body.childrenCount is 3
PASS body.childAtIndex(0).childrenCount is 0
PASS body.childrenCount is 4
FAIL body.childAtIndex(0).childAtIndex(0).childAtIndex(0).role should be AXRole: AXWebArea. Threw exception TypeError: null is not an object (evaluating 'body.childAtIndex(0).childAtIndex(0).childAtIndex(0).role')

When running locally, I see that it always fails on second try. The second attempt will fail:

run-webkit-tests -2 platform/mac/accessibility/iframe-aria-hidden.html --repeat 2 --no-retry-failures

Looking at the test, I think that it needs to be run in window.onload, because otherwise, there is a race with loading the iframe. But when I change it to run in onload, it starts to fail every time. For some reason, AXScrollArea doesn't have any child elements.

So it seems like there are at least two issues - one that the test should be made more robust by switching to onload, and another that it shouldn't fail.
Comment 1 Alexey Proskuryakov 2014-01-20 17:01:59 PST
Marked as flaky in <http://trac.webkit.org/r162392>.

Unfortunately, this reduces test coverage, as we won't confirm that the test passes on retry - we'll just accept failure as an expected outcome. Hopefully this bug can be fixed for good, making this moot.
Comment 2 Alexey Proskuryakov 2014-01-20 17:13:05 PST
Hmm, this is a very recent regression! These changes are ones in blame list:

http://trac.webkit.org/changeset/162354 Update overlay scrollbars in single pass
http://trac.webkit.org/changeset/162355 Remove an unused member variable
http://trac.webkit.org/changeset/162356 Let RenderImage construct its RenderImageResource

I suspect that this is the scroll bars change. Antti, will you have an opportunity to look into this soon? Should we roll out for now to confirm that this change is to blame?
Comment 3 Radar WebKit Bug Importer 2014-01-20 17:28:06 PST
<rdar://problem/15865578>
Comment 4 Alexey Proskuryakov 2014-01-21 10:38:10 PST
Rolling out r162354 appears to have helped. I'll update the test and un-mark it.
Comment 5 Alexey Proskuryakov 2014-01-21 11:23:38 PST
Created attachment 221765 [details]
proposed patch
Comment 6 WebKit Commit Bot 2014-01-21 14:10:16 PST
Comment on attachment 221765 [details]
proposed patch

Clearing flags on attachment: 221765

Committed r162474: <http://trac.webkit.org/changeset/162474>
Comment 7 WebKit Commit Bot 2014-01-21 14:10:20 PST
All reviewed patches have been landed.  Closing bug.