Closed Bug 1764560 Opened 2 years ago Closed 2 years ago

High Frequency [Tier 2] dom/events/test/test_bug418986-3.html | event.screenY !== event.clientY - didn't expect 67, but got it

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P5)

defect

Tracking

()

RESOLVED FIXED
101 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- unaffected
firefox100 --- unaffected
firefox101 --- fixed

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

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


[task 2022-04-13T12:44:42.206Z] 12:44:42     INFO - TEST-START | dom/events/test/test_bug418986-3.html
[task 2022-04-13T12:44:42.266Z] 12:44:42     INFO - TEST-INFO | started process screenshot
[task 2022-04-13T12:44:42.378Z] 12:44:42     INFO - TEST-INFO | screenshot: exit 0
[task 2022-04-13T12:44:42.384Z] 12:44:42     INFO - Buffered messages logged at 12:44:42
[task 2022-04-13T12:44:42.384Z] 12:44:42     INFO - TEST-PASS | dom/events/test/test_bug418986-3.html | event.screenX and event.clientX should be the same 
[task 2022-04-13T12:44:42.385Z] 12:44:42     INFO - TEST-PASS | dom/events/test/test_bug418986-3.html | event.screenY and event.clientY should be the same 
[task 2022-04-13T12:44:42.385Z] 12:44:42     INFO - TEST-PASS | dom/events/test/test_bug418986-3.html | event.screenX and event.clientX should be the same 
[task 2022-04-13T12:44:42.386Z] 12:44:42     INFO - TEST-PASS | dom/events/test/test_bug418986-3.html | event.screenY and event.clientY should be the same 
[task 2022-04-13T12:44:42.386Z] 12:44:42     INFO - Buffered messages finished
[task 2022-04-13T12:44:42.387Z] 12:44:42     INFO - TEST-UNEXPECTED-FAIL | dom/events/test/test_bug418986-3.html | event.screenY !== event.clientY - didn't expect 67, but got it
[task 2022-04-13T12:44:42.387Z] 12:44:42     INFO -     SimpleTest.isnot@SimpleTest/SimpleTest.js:519:14
[task 2022-04-13T12:44:42.387Z] 12:44:42     INFO -     handleEvent@dom/events/test/bug418986-3.js:35:12
[task 2022-04-13T12:44:42.387Z] 12:44:42     INFO -     nextTest/</</<@dom/events/test/bug418986-3.js:70:63
[task 2022-04-13T12:44:42.387Z] 12:44:42     INFO -     synthesizeMouseAtPoint@SimpleTest/EventUtils.js:628:32
[task 2022-04-13T12:44:42.388Z] 12:44:42     INFO -     synthesizeMouse@SimpleTest/EventUtils.js:562:10
[task 2022-04-13T12:44:42.388Z] 12:44:42     INFO -     synthesizeMouseAtCenter@SimpleTest/EventUtils.js:735:10
[task 2022-04-13T12:44:42.388Z] 12:44:42     INFO -     nextTest/</</<@dom/events/test/bug418986-3.js:74:36
[task 2022-04-13T12:44:42.388Z] 12:44:42     INFO - Not taking screenshot here: see the one that was previously logged
[task 2022-04-13T12:44:42.389Z] 12:44:42     INFO - TEST-UNEXPECTED-FAIL | dom/events/test/test_bug418986-3.html | event.screenY !== event.clientY - didn't expect 77, but got it
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     SimpleTest.isnot@SimpleTest/SimpleTest.js:519:14
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     handleEvent@dom/events/test/bug418986-3.js:35:12
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     nextTest/</</<@dom/events/test/bug418986-3.js:70:63
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     synthesizeMouseAtPoint@SimpleTest/EventUtils.js:628:32
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     synthesizeMouse@SimpleTest/EventUtils.js:562:10
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     synthesizeMouseAtCenter@SimpleTest/EventUtils.js:735:10
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO -     nextTest/</</<@dom/events/test/bug418986-3.js:74:36
[task 2022-04-13T12:44:42.390Z] 12:44:42     INFO - GECKO(4992) | MEMORY STAT | vsize 2103649MB | vsizeMaxContiguous 94061967MB | residentFast 52MB | heapAllocated 7MB
[task 2022-04-13T12:44:42.391Z] 12:44:42     INFO - TEST-OK | dom/events/test/test_bug418986-3.html | took 80ms

Probably. The part of the test that is failing isn't necessarily a failure, depending on where the window is positioned (which is arbitrary) but I am wondering why it didn't fail before but is failing now. Bug 1614218 could exacerbate the failure but it's still kind of odd. I'll probably remove the bad part of the test before re-attempting bug 1614218 but I want to first understand why we hit this failure more with that patch.

Flags: needinfo?(davidp99)
Assignee: nobody → davidp99

Ah derp, I forgot this and landed bug 1614218 and now the intermittent failure is back.

I think I'd like to disable this test on Win10 while I get this fixed. I have largely figured out the source of the failure and it's unrelated to privacy.resistFingerprinting -- it seems to be a failure in SpecialPowers for the test but it may also be a bigger timing issue. Most importantly, the test always had this issue but the timing coincidentally worked for us before.

Specifically, the failure says that, when we turn off privacy.resistFingerprinting, we still see client coordinates line up with screen coordinates. In content processes, screen coordinates are computed from client (basically CSS) coordinates. This uses a displacement sent to BrowserChild::RecvChildToParentMatrix. That value is stored and later used by PuppetWidget::WidgetToTopLevelWidgetTransform, in turn used by Event::GetScreenCoords. If BrowserChild hasn't received the message yet, we use an identity transform instead... and that's how client and screen coordinates align when they shouldn't.

Before we test privacy.resistFingerprinting on, we test it off. That "says" it passes, because it wants that transformation to be the identity (it wants screen to line up with client). The test passes because we are doing the right thing but, if we weren't it would pass anyway. The test has not been doing anything.

The test hasn't been working properly. The timing of the IPDL message PBrowser::ChildToParentMatrix is often too late for the test -- it will have already computed and compared invalid "device" coordinates. Disabling the test while we figure this out.

Pushed by daparks@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/613d962c2834
Disable mochitest bug418986-3 on Windows-e10s r=bobowen
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch
See Also: → 1766082
Regressed by: 1614218
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: