Closed Bug 1524476 Opened 9 months ago Closed 8 months ago

Intermittent gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | helper_bug1162771.html | Got unexpected touchstart on [object HTMLParagraphElement]

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

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

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

#[markdown(off)]
Filed by: cbrindusan [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=225372806&repo=mozilla-inbound

https://queue.taskcluster.net/v1/task/auHibmDdQE2uOGgm_RVqug/runs/0/artifacts/public/logs/live_backing.log

[task 2019-02-01T04:58:33.345Z] 04:58:33 INFO - 69 INFO TEST-START | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html
[task 2019-02-01T04:58:33.345Z] 04:58:33 INFO - Buffered messages logged at 04:58:24
[task 2019-02-01T04:58:33.345Z] 04:58:33 INFO - 70 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | Check if TouchEvent is supported (it should be, the test harness forces it on everywhere)
[task 2019-02-01T04:58:33.346Z] 04:58:33 INFO - 71 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | Starting subtest helper_bug1162771.html
[task 2019-02-01T04:58:33.346Z] 04:58:33 INFO - Buffered messages logged at 04:58:28
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - 72 INFO must wait for load
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - Buffered messages logged at 04:58:30
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - 73 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | helper_bug1162771.html | Set display to none on #video
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - 74 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | helper_bug1162771.html | Got touchend event on #video
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - Buffered messages logged at 04:58:31
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - 75 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | helper_bug1162771.html | Touchend was received on video element
[task 2019-02-01T04:58:33.350Z] 04:58:33 INFO - Buffered messages finished
[task 2019-02-01T04:58:33.351Z] 04:58:33 INFO - 76 INFO TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/test_group_touchevents-2.html | helper_bug1162771.html | Got unexpected touchstart on [object HTMLParagraphElement]

Seems like a relatively recent regression, started sometime around Jan 31 or so. I'm doing some retriggers to see if I can narrow it down.

So far the oldest instance of this failure I've found is here:

https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=android%2C4.3%2Capi16%2B%2Copt%2Cmochitests%2Ctest-android-em-4.3-arm7-api-16%2Fopt-mochitest-21%2Cm%2821%29&fromchange=c127e67367b9cfda6e170521a260c708b41c5a89&tochange=b04c7dcb1a434563fa2b681ba2180487789715d4&group_state=expanded&selectedJob=228188003

(Note that much of the orange you see here is from some unrelated failure).

This is just after bug 1515774 landed, and that seems like it could be a likely culprit since it does touch the codepaths that this test is exercising (android touch events). Eitan, do you have cycles to take a quick look and see if there's something in your patches that might have caused this?

Blocks: 1515774
Flags: needinfo?(eitan)
Priority: P5 → P3

In particular it might be that the motion events we synthesize for testing purposes at https://searchfox.org/mozilla-central/rev/01b4b3830ea3cae2e9e431019afa6391b471c6da/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/PanZoomController.java#505 don't have proper getRawX()/getRawY() values and so the external pixel offset is garbage or intermittently wrong or something.

https://hg.mozilla.org/integration/autoland/rev/2e07c678817986f6d87cc6e441a60e7523044c54#l1.35 also sounds a bit sketchy. Where does this get sent to the gecko thread, and is it possible there's a race being introduced here?

Base revision: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&searchStr=android%2Cmochi&revision=2bf86657a4482f75eef4469686d2eb246ee55dd2 shows the failures
Base revision plus backout of the last two patches from bug 1515774: https://treeherder.mozilla.org/#/jobs?repo=try&group_state=expanded&revision=fd70c2e229c7c1abc4ac2dd71fa49d53a457b9ad shows no failures.

Might just be insufficient retriggers but more likely the problem is in one of those two patches.

Eitan said he was looking into this

Assignee: nobody → eitan

OK, sorry this took me a bit to look into.

It looks like the problem is not garbage offsets, but a false offset of 0. When you synthesize MotionEvents you can't set the offset. So the test waffles back and fourth between its true offset that is set by draws or whatever, and a false zero offset that is set by this patch.

Flags: needinfo?(eitan)
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/eb2c42e0c6cb
Don't set the screen origin from synthesized MotionEvents. r=geckoview-reviewers,esawin
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.