Bug 236128 - [ Mac wk1 ] 8X imported/w3c/web-platform-tests/pointerevents/pointerevent (layout-tests) are flaky text failures
Summary: [ Mac wk1 ] 8X imported/w3c/web-platform-tests/pointerevents/pointerevent (la...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
: 236126 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-02-03 22:31 PST by Robert Jenner
Modified: 2023-06-30 07:56 PDT (History)
4 users (show)

See Also:


Attachments
Test list generated and used for failure reproduction. (291.10 KB, text/plain)
2022-02-25 13:56 PST, Robert Jenner
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Jenner 2022-02-03 22:31:40 PST
The following 7 imported/w3c/web-platform-tests/pointerevents/pointerevent layout-tests are flaky text failures on Mac wk1:

imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_capture_mouse.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_capture.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_element_haspointercapture.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_pointercapture_in_frame.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-custom-element.html

HISTORY:
https://results.webkit.org/?limit=31544&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_boundary_events_at_implicit_release_hoverable_pointers.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_capture_mouse.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_click_during_capture.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_element_haspointercapture.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_mouse_capture_change_hover.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_mouse_pointercapture_in_frame.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_pointercapture-in-custom-element.html
Comment 1 Radar WebKit Bug Importer 2022-02-03 22:32:11 PST
<rdar://problem/88474722>
Comment 2 Robert Jenner 2022-02-25 13:16:03 PST
I found one additional test that also goes with these too:

imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-shadow-dom.html

HISTORY:
https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fpointerevents%2Fpointerevent_pointercapture-in-shadow-dom.html
Comment 3 Robert Jenner 2022-02-25 13:47:56 PST
The following 6 tests all have “Harness Error (TIMEOUT), message = null” in their DIFFS:

imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_capture_mouse.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_capture.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_element_haspointercapture.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-custom-element.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-shadow-dom.html

DIFF URLS:
• https://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers-pretty-diff.htmlhttps://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_capture_mouse-pretty-diff.htmlhttps://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_capture-pretty-diff.htmlhttps://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_element_haspointercapture-pretty-diff.htmlhttps://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-custom-element-pretty-diff.htmlhttps://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-shadow-dom-pretty-diff.html
Comment 4 Robert Jenner 2022-02-25 13:50:31 PST
TEXT DIFF FOR "imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover.html":

 PASS Mouse down and capture to green.
-PASS Mouse down at green and capture to blue.
-PASS Mouse down and capture to green, move to blue and release capture
+FAIL Mouse down at green and capture to blue. assert_array_equals: Received events: green received pointermove,green received pointermove,green received pointermove,green received pointermove lengths differ, expected array ["green received pointerover", "green received pointerenter", "green received pointermove", "green received pointerdown", "green received pointerout", "green received pointerleave", "blue received pointerover", "blue received pointerenter", "blue received gotpointercapture", "blue received pointermove", "blue received pointermove"] length 11, got ["green received pointermove", "green received pointermove", "green received pointermove", "green received pointermove"] length 4
+FAIL Mouse down and capture to green, move to blue and release capture assert_array_equals: Received events: green received pointermove,green received lostpointercapture,green received pointerout,green received pointerleave,green received pointerover,green received pointerenter,green received pointermove,green received pointerout,green received pointerleave,blue received pointerover,blue received pointerenter,blue received pointermove,blue received pointermove lengths differ, expected array ["green received pointerover", "green received pointerenter", "green received pointermove", "green received pointerdown", "green received gotpointercapture", "green received pointermove", "green received lostpointercapture", "green received pointerout", "green received pointerleave", "blue received pointerover", "blue received pointerenter", "blue received pointermove"] length 12, got ["green received pointermove", "green received lostpointercapture", "green received pointerout", "green received pointerleave", "green received pointerover", "green received pointerenter", "green received pointermove", "green received pointerout", "green received pointerleave", "blue received pointerover", "blue received pointerenter", "blue received pointermove", "blue received pointermove"] length 13

DIFF URL:
https://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover-pretty-diff.html
Comment 5 Robert Jenner 2022-02-25 13:51:29 PST
TEXT DIFF FOR "imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_pointercapture_in_frame.html":

-FAIL Test pointer capture event route across the same-origin frame: Mouse down at inner frame and set pointer capture. assert_array_equals: Received events: innerFrame received pointermove,innerFrame received pointerdown,innerFrame received gotpointercapture,innerFrame received pointermove,innerFrame received pointermove,innerFrame received pointerup,innerFrame received lostpointercapture,outerFrame received pointermove lengths differ, expected array ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received pointermove", "innerFrame received pointerup", "innerFrame received lostpointercapture"] length 7, got ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received pointermove", "innerFrame received pointerup", "innerFrame received lostpointercapture", "outerFrame received pointermove"] length 8
-FAIL Test pointer capture event route across the same-origin frame: Mouse down at outer frame body and set pointer capture. assert_array_equals: Received events: outerFrame received pointermove,outerFrame received pointerdown,outerFrame received gotpointercapture,outerFrame received pointermove,outerFrame received pointerup,outerFrame received lostpointercapture,innerFrame received pointermove lengths differ, expected array ["outerFrame received pointermove", "outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received pointerup", "outerFrame received lostpointercapture"] length 6, got ["outerFrame received pointermove", "outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received pointerup", "outerFrame received lostpointercapture", "innerFrame received pointermove"] length 7
-FAIL Test pointer capture event route across the same-origin frame: Mouse down with set capture at inner frame, then release on next mouse move. assert_array_equals: Received events: innerFrame received pointermove,innerFrame received pointerdown,innerFrame received gotpointercapture,innerFrame received pointermove,innerFrame received lostpointercapture,innerFrameDocument received pointermove,outerFrame received pointerup,innerFrameDocument received pointermove,outerFrame received pointermove lengths differ, expected array ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received lostpointercapture", "innerFrameDocument received pointermove", "innerFrameDocument received pointerup"] length 7, got ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received lostpointercapture", "innerFrameDocument received pointermove", "outerFrame received pointerup", "innerFrameDocument received pointermove", "outerFrame received pointermove"] length 9
-FAIL Test pointercapture event route across the same-origin frame: Mouse down with set capture at outer frame, then release on next mouse move. assert_array_equals: Received events: outerFrame received pointermove,outerFrame received pointerdown,outerFrame received gotpointercapture,outerFrame received pointermove,outerFrame received lostpointercapture,innerFrameElement received pointermove,innerFrameElement received pointerup,innerFrame received pointermove lengths differ, expected array ["outerFrame received pointermove", "outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received lostpointercapture", "innerFrame received pointermove", "innerFrame received pointerup"] length 7, got ["outerFrame received pointermove", "outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received lostpointercapture", "innerFrameElement received pointermove", "innerFrameElement received pointerup", "innerFrame received pointermove"] length 8
+FAIL Test pointer capture event route across the same-origin frame: Mouse down at inner frame and set pointer capture. assert_array_equals: Received events: innerFrame received pointermove,innerFrame received pointerdown,innerFrame received gotpointercapture,innerFrame received pointermove,innerFrame received pointermove,innerFrame received pointermove,innerFrame received pointermove,outerFrame received pointermove lengths differ, expected array ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received pointermove", "innerFrame received pointerup", "innerFrame received lostpointercapture"] length 7, got ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received pointermove", "innerFrame received pointermove", "innerFrame received pointermove", "outerFrame received pointermove"] length 8
+FAIL Test pointer capture event route across the same-origin frame: Mouse down at outer frame body and set pointer capture. assert_array_equals: Received events: outerFrame received pointermove,outerFrame received pointermove,innerFrameElement received pointermove,innerFrameElement received pointermove,innerFrame received pointermove lengths differ, expected array ["outerFrame received pointermove", "outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received pointerup", "outerFrame received lostpointercapture"] length 6, got ["outerFrame received pointermove", "outerFrame received pointermove", "innerFrameElement received pointermove", "innerFrameElement received pointermove", "innerFrame received pointermove"] length 5
+FAIL Test pointer capture event route across the same-origin frame: Mouse down with set capture at inner frame, then release on next mouse move. assert_array_equals: Received events: innerFrame received pointermove,innerFrame received lostpointercapture,innerFrame received pointermove,innerFrame received pointermove,innerFrameDocument received pointermove,outerFrame received pointermove,innerFrameDocument received pointermove,outerFrame received pointermove lengths differ, expected array ["innerFrame received pointermove", "innerFrame received pointerdown", "innerFrame received gotpointercapture", "innerFrame received pointermove", "innerFrame received lostpointercapture", "innerFrameDocument received pointermove", "innerFrameDocument received pointerup"] length 7, got ["innerFrame received pointermove", "innerFrame received lostpointercapture", "innerFrame received pointermove", "innerFrame received pointermove", "innerFrameDocument received pointermove", "outerFrame received pointermove", "innerFrameDocument received pointermove", "outerFrame received pointermove"] length 8
+FAIL Test pointercapture event route across the same-origin frame: Mouse down with set capture at outer frame, then release on next mouse move. assert_array_equals: Received events: outerFrame received pointermove,outerFrame received pointermove,innerFrameElement received pointermove,innerFrameElement received pointermove,innerFrameElement received pointermove,innerFrame received pointermove lengths differ, expected array ["outerFrame received pointermove", "outerFrame received pointerdown", "outerFrame received gotpointercapture", "outerFrame received pointermove", "outerFrame received lostpointercapture", "innerFrame received pointermove", "innerFrame received pointerup"] length 7, got ["outerFrame received pointermove", "outerFrame received pointermove", "innerFrameElement received pointermove", "innerFrameElement received pointermove", "innerFrameElement received pointermove", "innerFrame received pointermove"] length 6
 
DIFF URL:
https://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r290514%20(8626)/imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_pointercapture_in_frame-pretty-diff.html
Comment 6 Robert Jenner 2022-02-25 13:55:16 PST
I was not able to reproduce any of the failures by running the tests standalone. However, I was able to reproduce the failures by generating a test list. All of these tests ran on the same worker, so when I ran as a test list I got all of the tests to fail using the following:

run-webkit-tests --test-list <location of test list> --child-process=1 --force -1 

I have attached the test list to this bug, and will work on figuring out what causes these tests to fail.
Comment 7 Robert Jenner 2022-02-25 13:56:15 PST
Created attachment 453256 [details]
Test list generated and used for failure reproduction.
Comment 8 Robert Jenner 2022-03-14 18:59:08 PDT
After playing with the reproduction using the attached test list, I believe that the following test:

imported/w3c/web-platform-tests/html/user-activation/activation-trigger-mouse-right.html

Is what is causing the others to fail. I have skipped that test on Mac wk1 here to prove if the theory is correct, and matches what I was reproducing locally:

https://commits.webkit.org/248414@main
Comment 9 Ryan Haddad 2022-05-18 15:12:30 PDT
*** Bug 236126 has been marked as a duplicate of this bug. ***
Comment 10 Jer Noble 2023-06-29 23:03:01 PDT
This test requires that we fire the "auxclick" event, which we don't support.