Closed Bug 1857454 Opened 8 months ago Closed 7 months ago

Perma /pointerevents/pointerevent_<test_path>.html | single tracking bug

Categories

(Core :: DOM: Events, defect)

defect

Tracking

()

RESOLVED FIXED
120 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox118 --- unaffected
firefox119 --- unaffected
firefox120 --- fixed

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, intermittent-testcase, regression, Whiteboard: [retriggered][stockwell disable-recommended])

Attachments

(4 obsolete files)

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


TEST-START | /pointerevents/pointerevent_touch-action-pan-up-css_touch.html
[task 2023-10-06T09:21:59.618Z] 09:21:59     INFO - Closing window 421bbf06-9bd2-467a-a5e5-6f871b9e2bd3
[task 2023-10-06T09:21:59.784Z] 09:21:59     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 100}, {'type': 'pause', 'duration': 16}], 'id': '0'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 0, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerDown', 'button': 0}, {'type': 'pointerMove', 'x': 0, 'y': -10, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': -20, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': -30, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': -40, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': -50, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': -60, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerUp', 'button': 0}], 'parameters': {'pointerType': 'touch'}, 'id': 'touchPointer1'}]}
[task 2023-10-06T09:22:00.055Z] 09:22:00     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 100}, {'type': 'pause', 'duration': 16}], 'id': '1'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 0, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerDown', 'button': 0}, {'type': 'pointerMove', 'x': -10, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': -20, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': -30, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': -40, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': -50, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': -60, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerUp', 'button': 0}], 'parameters': {'pointerType': 'touch'}, 'id': 'touchPointer1'}]}
[task 2023-10-06T09:22:00.344Z] 09:22:00     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 100}, {'type': 'pause', 'duration': 16}], 'id': '2'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 0, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerDown', 'button': 0}, {'type': 'pointerMove', 'x': 0, 'y': 10, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': 20, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': 30, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': 40, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': 50, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerMove', 'x': 0, 'y': 60, 'origin': {'element-6066-11e4-a52e-4f735466cecf': '139d4d53-7758-4cc3-8ce5-3d9c198e7c07'}}, {'type': 'pointerUp', 'button': 0}], 'parameters': {'pointerType': 'touch'}, 'id': 'touchPointer1'}]}
[task 2023-10-06T09:22:00.622Z] 09:22:00     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '3'}, {'type': 'pointer', 'actions': [{'type': 'pointerMove', 'x': 0, 'y': 0, 'origin': {'element-6066-11e4-a52e-4f735466cecf': 'b77e8dd0-a8bf-42ce-a8ba-c3e9d61d87d0'}}, {'type': 'pointerDown', 'button': 0}, {'type': 'pointerUp', 'button': 0}], 'parameters': {'pointerType': 'touch'}, 'id': 'touchPointer1'}]}
[task 2023-10-06T09:22:00.685Z] 09:22:00     INFO - TEST-UNEXPECTED-OK | /pointerevents/pointerevent_touch-action-pan-up-css_touch.html | expected ERROR
[task 2023-10-06T09:22:00.686Z] 09:22:00     INFO - TEST-INFO expected ERROR | took 1070ms
[task 2023-10-06T09:22:00.688Z] 09:22:00     INFO - PID 12387 | 1696584120688	Marionette	INFO	Stopped listening on port 42588
[task 2023-10-06T09:22:00.806Z] 09:22:00     INFO - PID 12387 | console.error: ({})
[task 2023-10-06T09:22:00.947Z] 09:22:00     INFO - Browser exited with return code 0
[task 2023-10-06T09:22:00.948Z] 09:22:00     INFO - Closing logging queue
[task 2023-10-06T09:22:00.948Z] 09:22:00     INFO - queue closed
[task 2023-10-06T09:22:00.964Z] 09:22:00     INFO - Application command: /builds/worker/workspace/build/application/firefox/firefox --marionette about:blank -profile /tmp/tmpiil_g1g0
[task 2023-10-06T09:22:00.972Z] 09:22:00     INFO - Starting runner
[task 2023-10-06T09:22:01.448Z] 09:22:01     INFO - PID 16494 | ATTENTION: default value of option mesa_glthread overridden by environment.
[task 2023-10-06T09:22:01.476Z] 09:22:01     INFO - PID 16494 | 1696584121475	Marionette	INFO	Marionette enabled
[task 2023-10-06T09:22:01.532Z] 09:22:01     INFO - PID 16494 | ATTENTION: default value of option mesa_glthread overridden by environment.
[task 2023-10-06T09:22:01.549Z] 09:22:01     INFO - PID 16494 | 1696584121548	Marionette	INFO	Listening on port 59716
[task 2023-10-06T09:22:01.804Z] 09:22:01     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:01.813Z] 09:22:01     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:03.019Z] 09:22:03     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:04.667Z] 09:22:04     INFO - PID 16494 | console.error: ({})
[task 2023-10-06T09:22:05.829Z] 09:22:05     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:05.833Z] 09:22:05     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:05.835Z] 09:22:05     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:05.835Z] 09:22:05     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:05.835Z] 09:22:05     INFO - PID 16494 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-10-06T09:22:06.020Z] 09:22:06     INFO - TEST-START | /pointerevents/pointerevent_touch-action-pan-x-css_touch.html

Those test failures are the result of the changes from bug 1852243 which enabled touch and wheel events to be send asynchronously via the parent process.

(In reply to Sandor Molnar[:smolnar] from comment #1)

Failure log -> TEST-UNEXPECTED-OK | /pointerevents/pointerevent_touch-action-pan-up-css_touch.html | expected ERROR

This was a perma timeout before. Now it seems to intermittently pass on Linux at least. I'll add OK beside ERROR to the meta file for that platform.

Failure log -> TEST-UNEXPECTED-TIMEOUT | /pointerevents/pointerevent_touch-action-modified_touch.html | Deleting touch-action elem after pointerdown - Test timed out

This is an intermittent timeout of the sub test so far only happening on Linux. I'll update the meta file.

Failure log -> TEST-UNEXPECTED-OK | /pointerevents/pointerevent_touch-action-pan-down-css_touch.html | expected ERROR

Same as the first failure above. It's intermittently passing now on Linux.

Failure log -> TEST-UNEXPECTED-NOTRUN | /pointerevents/pointerevent_releasepointercapture_pointerup_touch.html | releasePointerCapture on pointerup - expected PASS

That one is intermittently failing on Linux as well but suspicious. Why do we run another wpt test while one is actually running?
https://treeherder.mozilla.org/logviewer?job_id=431558283&repo=autoland&lineNumber=4889-4904

James, do you have an idea? Maybe the JS error in the BrowserElementParent.sys.mjs file is causing the test to not be run?

Failure log -> TEST-UNEXPECTED-FAIL | /pointerevents/pointerevent_touch-action-span-none-test_touch.html | touch-action attribute test in element - assert_not_equals:

This test was a NOTRUN before and passes on other platforms so far. It's only intermittently failing on Linux. I'll update the meta data for that platform.

Failure log -> TEST-UNEXPECTED-NOTRUN | /pointerevents/pointerevent_pointercancel_touch.html | pointercancel event received - expected FAIL

Same issue as above with running another test while one is already running:
https://treeherder.mozilla.org/logviewer?job_id=431558135&repo=autoland&lineNumber=4685-4699

Lets wait for James reply and observe the results for maybe one more day. There could be other failures as well. So once we know what to update I'll provide a patch.

Component: web-platform-tests → DOM: Events
Flags: needinfo?(hskupin) → needinfo?(james)
Product: Testing → Core

Discussed with James on Matrix. So the intersection of log entries is most likely related because we run 2 processes of Firefox in parallel for some builds:

https://searchfox.org/mozilla-central/rev/6602bdf9fff5020fbc8e248c963ddddf09a77b1b/testing/mozharness/scripts/web_platform_tests.py#390-402

Interestingly all the failures here so far are for jobs that do not use Fission. And for these builds we we exactly run 2 processes (see implementation bug 1626089). I triggered some jobs for nofis on the following try build to see if that is reproducible on autoland. So far I haven't seen it because nofis jobs I only run in combination with debug and that is using a single process.

https://treeherder.mozilla.org/jobs?repo=try&revision=6a5b0ef3b532eb9d96e53c2920a3f566afab2ca4&searchStr=nofis

Maybe dispatching async events should not be done for non-Fission builds, and we should not set the preferences as added by bug 1852243 for those jobs.

Flags: needinfo?(james)

Set release status flags based on info from the regressing bug 1852243

See Also: → 1857491
Assignee: nobody → hskupin
Status: NEW → ASSIGNED

The attached patch is an update for seen intermittent failures until now on autoland and mozilla-central after the landing of bug 1852243. There might be more so I'm going to add the leave-open keyword.

Keywords: leave-open
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f0f71705e9c4
[wpt] Update remaining expectations for touch and wheel event related tests. r=botond

Backed out for causing wpt failures on scrollend-event-fires-to-iframe-window.html

Backout link

Push with failures

Failure log

Flags: needinfo?(hskupin)
Priority: -- → P5
Whiteboard: [stockwell needswork:owner]
Summary: Intermittent /pointerevents/pointerevent_<test_path>.html | single tracking bug → Perma /pointerevents/pointerevent_<test_path>.html | single tracking bug
Whiteboard: [stockwell needswork:owner] → [stockwell needswork:owner][retriggered]
See Also: → 1857912
Attachment #9357142 - Attachment is obsolete: true
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3434fa607900
[wpt] Update remaining expectations for touch and wheel event related tests [Part 2]. r=jgraham
Duplicate of this bug: 1857976

Backed out for causing wpt failures on scrollend-event-for-user-scroll.html

Backout link

Push with failures

Failure log

Attachment #9357362 - Attachment description: Bug 1857454 - [wpt] Update remaining expectations for touch and wheel event related tests [Part 2]. → Bug 1857454 - [wpt] Update remaining expectations for touch and wheel event related tests.

Ok, so I've discussed with Hiro the current situation and we agreed to revert dispatching widget level events for touch. The only relevant event here is for wheel scroll actions. Regarding touch there will be no time at least right now to investigate all these intermittently failing wpt tests, and we do not want to keep them in the current state. As such the next actions are:

  • Disable the test.events.async.touch.enabled preference for all wpt
  • Revert all the metadata updates to the state from before bug 1852243
  • Check which wpt tests make use of the testdriver's scroll action and update disable test.events.async.wheel.enabled if they fail
  • File follow-up meta bugs to get async touch, mouse, and key events enabled for wpt
Flags: needinfo?(hskupin)
Attachment #9357362 - Attachment is obsolete: true

Depends on D190606

Blocks: 1857857

Masayuki, regarding your reply over on bug 1852243 comment 36, does it mean that the attached patches here should actually not land?

If we cannot just enable async wheel events on its own I cannot see how we could make progress on the scroll interop 2023 tests in the near term future. There are too many known problems that would need to be solved first. If that's the case we probably should backout the patches on bug 1852243.

Flags: needinfo?(masayuki)

I think that disabling async DOM events per test is fine, but if you globally disable it by a pref, I believe that you should disable it in all event groups.

E.g., if only mouse events are dispatched asynchronously, this example may cause keydown and keyup events fired before mousemove.

How about to enable async events only if the test passes with enabling all of them or the test uses only one event group?

Flags: needinfo?(masayuki)
Attachment #9357670 - Attachment is obsolete: true
Attachment #9357671 - Attachment is obsolete: true

This has been fixed by the backout of the patches on bug 1852243.

Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch

(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900) from comment #22)

I think that disabling async DOM events per test is fine, but if you globally disable it by a pref, I believe that you should disable it in all event groups.

E.g., if only mouse events are dispatched asynchronously, this example may cause keydown and keyup events fired before mousemove.

How about to enable async events only if the test passes with enabling all of them or the test uses only one event group?

Masayuki, can you please elaborate these plans? Is there any way to annotate each test respectively on the resources where the tests are running for the wpt dashboard just like we have?

Unfortunately, if you got better score in https://wpt.fyi/results/, we don't have the way to do it. I'm just talking about the case running in our CI.

Duplicate of this bug: 1857931

Masayuki and Hiro, could we at least / maybe try to get all the wpt tests related to scrolling working fine in our CI first when emitting the events asynchronously? We could take the list of tests from my patch on D190607. But not sure how many of these actually contribute to the Interop 2023 goal.

I'm going to create a document soon which will cover attempts so far, and why they weren't working. Then we need to find a way forward to actually get async / parent process events enabled in Marionette.

Flags: needinfo?(masayuki)
Flags: needinfo?(hikezoe.birchill)

Yeah, sounds reasonable to me.

Flags: needinfo?(hikezoe.birchill)

Yes, that must be the first step to fix the root causes.

Flags: needinfo?(masayuki)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: