Bug 209494

Summary: [ Mac wk1 ] fast/events/mouse-cursor-no-mousemove.html is flaky failing.
Product: WebKit Reporter: Jason Lawrence <Lawrence.j>
Component: New BugsAssignee: Antoine Quint <graouts>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: graouts, graouts, koivisto, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Mac   
OS: macOS 10.14   
See Also: https://bugs.webkit.org/show_bug.cgi?id=211884
Attachments:
Description Flags
Patch koivisto: review+

Description Jason Lawrence 2020-03-24 14:02:00 PDT
fast/events/mouse-cursor-no-mousemove.html

Description:
This test is flaky failing on Mac wk1. It has been flaky failing throughout the visible history.

History:
https://results.webkit.org/?suite=layout-tests&test=fast%2Fevents%2Fmouse-cursor-no-mousemove.html&platform=mac&flavor=wk1&limit=50000

Diff:
--- /Volumes/Data/slave/catalina-debug-tests-wk1/build/layout-test-results/fast/events/mouse-cursor-no-mousemove-expected.txt
+++ /Volumes/Data/slave/catalina-debug-tests-wk1/build/layout-test-results/fast/events/mouse-cursor-no-mousemove-actual.txt
@@ -8,7 +8,7 @@
 
 TEST CASE: Mouse idle, change cursor should not fire mousemove event
 Cursor Info: type=Pointer hotSpot=0,0
-Cursor Info: type=Help hotSpot=0,0
+Cursor Info: type=Pointer hotSpot=0,0
 
 PASS successfullyParsed is true
Comment 1 Radar WebKit Bug Importer 2020-03-24 14:02:21 PDT
<rdar://problem/60840602>
Comment 2 Jason Lawrence 2020-03-24 14:13:04 PDT
I have marked this test as failing while this issue is investigated.
https://trac.webkit.org/changeset/258938/webkit

Also, I can reproduce this issue by running the command below.
run-webkit-tests --iterations 777 --child-processes 50 --force -f fast/events/mouse-cursor-no-mousemove.html

[144/777] fast/events/mouse-cursor-no-mousemove.html failed unexpectedly (text diff)
[145/777] fast/events/mouse-cursor-no-mousemove.html failed unexpectedly (text diff)

Retrying 1 unexpected failure ...
Running 1 WebKitTestRunner.
775 tests ran as expected, 2 didn't:
Comment 3 Antoine Quint 2020-05-14 01:38:54 PDT
This test uses two setTimeout() calls with non-zero values, not a big surprise that it's flaky.
Comment 4 Antoine Quint 2020-05-14 01:55:07 PDT
Oh dear:

// The amount of time to wait for a cursor update on style and layout changes
// Set to 50Hz, no need to be faster than common screen refresh rate
static const Seconds cursorUpdateInterval { 20_ms };
Comment 5 Antoine Quint 2020-05-14 02:13:11 PDT
Filed bug 211884 to address the 20ms timer.
Comment 6 Antoine Quint 2020-05-14 02:16:34 PDT
Created attachment 399341 [details]
Patch
Comment 7 Antoine Quint 2020-05-14 04:06:14 PDT
Got a patch up for bug 211884 as well. If the bots are pleased, I'll dupe this bug to that one so that we don't use a timer at all and instead reliably can use requestAnimationFrame() in the test.
Comment 8 Antoine Quint 2020-05-14 04:58:04 PDT

*** This bug has been marked as a duplicate of bug 211884 ***