Closed Bug 1896627 Opened 10 months ago Closed 10 days ago

Intermittent /uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html | single tracking bug

Categories

(Core :: DOM: Events, defect)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Assigned: masayuki)

References

(Depends on 2 open bugs)

Details

(Keywords: intermittent-failure, intermittent-testcase, Whiteboard: [stockwell unknown])

Attachments

(1 file)

Filed by: tszentpeteri [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=458061078&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/FYcFFq6mSUmY-FYVW8oHFA/runs/0/artifacts/public/logs/live_backing.log


[task 2024-05-14T10:58:07.206Z] 10:58:07     INFO - TEST-START | /uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html
[task 2024-05-14T10:58:07.215Z] 10:58:07     INFO - Setting pref layout.reflow.synthMouseMove to true
[task 2024-05-14T10:58:07.228Z] 10:58:07     INFO - Closing window 1d6a65ec-333a-4ae9-b0e1-93f1c2ae1593
[task 2024-05-14T10:58:07.557Z] 10:58:07     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '0'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 82, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '1'}]}
[task 2024-05-14T10:58:07.705Z] 10:58:07     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '2'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '3'}]}
[task 2024-05-14T10:58:07.774Z] 10:58:07     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '4'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '5'}]}
[task 2024-05-14T10:58:07.836Z] 10:58:07     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '6'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '7'}]}
[task 2024-05-14T10:58:07.957Z] 10:58:07     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '8'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '9'}]}
[task 2024-05-14T10:58:08.011Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '10'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '11'}]}
[task 2024-05-14T10:58:08.105Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '12'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '13'}]}
[task 2024-05-14T10:58:08.162Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '14'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '15'}]}
[task 2024-05-14T10:58:08.258Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '16'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '17'}]}
[task 2024-05-14T10:58:08.313Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '18'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '19'}]}
[task 2024-05-14T10:58:08.400Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '20'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '21'}]}
[task 2024-05-14T10:58:08.461Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '22'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '23'}]}
[task 2024-05-14T10:58:08.568Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '24'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '25'}]}
[task 2024-05-14T10:58:08.624Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '26'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '27'}]}
[task 2024-05-14T10:58:08.736Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '28'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '29'}]}
[task 2024-05-14T10:58:08.794Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '30'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '31'}]}
[task 2024-05-14T10:58:08.904Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '32'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '33'}]}
[task 2024-05-14T10:58:08.973Z] 10:58:08     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '34'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '35'}]}
[task 2024-05-14T10:58:09.092Z] 10:58:09     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '36'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '37'}]}
[task 2024-05-14T10:58:09.145Z] 10:58:09     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '38'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}, {'type': 'pointerMove', 'x': 50, 'y': 146, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '39'}]}
[task 2024-05-14T10:58:09.278Z] 10:58:09     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}], 'id': '40'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 1, 'y': 1, 'origin': 'viewport'}], 'parameters': {'pointerType': 'mouse'}, 'id': '41'}]}
[task 2024-05-14T10:58:09.350Z] 10:58:09     INFO - 
[task 2024-05-14T10:58:09.351Z] 10:58:09     INFO - TEST-UNEXPECTED-FAIL | /uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html | After re-appending the last over element at mouseover, mouse boundary events should be fired as just over on the target - assert_equals: expected "mouseover@div#child, mouseenter@body, mouseenter@div#grandparent, mouseenter@div#parent, mouseenter@div#child, mousemove@div#child" but got "mouseover@div#child, mouseenter@body, mouseenter@div#grandparent, mouseenter@div#parent, mouseenter@div#child, mousemove@div#child, mouseout@div#child, mouseleave@div#child, mouseleave@div#parent, mouseleave@div#grandparent, mouseleave@body"
[task 2024-05-14T10:58:09.352Z] 10:58:09     INFO - @http://web-platform.test:8000/uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html:90:18
[task 2024-05-14T10:58:09.353Z] 10:58:09     INFO - ..........
[task 2024-05-14T10:58:09.353Z] 10:58:09     INFO - TEST-OK | /uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html | took 2139ms

According to the failure logs, the expected element under the cursor may be disappeared or changed (unexpected out and leave events are fired at last). I have no idea why this occurs mainly on the faster Linux builds.

Oh, and the cursor is moved away from the <body>. Did a popup appear over it??

I debugged more in tryserver, then, I see mouseleave event on the <html>. This means that cursor is not over the document anymore when the failure occurs. Therefore, I tried to get the cursor position in the screen coordinates. Finally, I got this:

mouseleave: screenX: 703, screenY: 470, window: screenX: 45, screenY: 72, outerWidth: 1280, outerHeight: 1040}

So, the cursor is in the window, but it's now not over the document. It seems that tooltip or something our own window or a foreigner window overlaps the window.

Err, test driver synthesizes events for the tests. Therefore, the overlapped one is not a foreigner window.

When this test fails, I got this log:

INFO - PID 10506 | Synthesized mousemove
INFO - PID 10506 | eMouseExitFromWidget
INFO - PID 10506 | eMouseOut target: browser.stack.vbox.hbox['panel-1-5'].tabpanels['tabbrowser-tabpanels'].tabbox['tabbrowser-tabbox'].vbox['appcontent'].hbox['browser'].body.html['main-window'].#document
INFO - PID 10506 | eMouseExitFromWidget
INFO - PID 10506 | eMouseOut target: html.#document
INFO - PID 10506 | eMouseOver target: div['child'].div['parent'].div['grandparent'].body.html.#document
INFO - PID 10506 | Synthesized mousemove
INFO - PID 10506 | Synthesized mousemove

I don't know what's the "tabpanels"... I'll keep investigating.

Oh, it's the background of the viewport under the toolbars (in the parent process?).

Well, it occurred in the parent process and that caused by eMouseExitFromWidget. So, not related to the test driver since it's running only in the content process.

Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Keywords: leave-open

GTK/GDK may notify us of bogus leave notification. This may cause unexpected
mouse/pointer boundary events during tests. Therefore, we should make
PresShell::HandleEvent ignore mouse events coming from OS if the last mouse
location was set by a synthesized event for tests.

Depends on D218170

Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 2 months ago10 days ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: