Closed
Bug 1278009
Opened 9 years ago
Closed 9 years ago
Intermittent test_group_touchevents.html | helper_touch_action.html | After fourth diagonal drag, with manipulation - x axis - got 10, expected 50
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla50
People
(Reporter: KWierso, Assigned: kats)
References
Details
(Keywords: intermittent-failure, Whiteboard: [gfx-noted])
Attachments
(1 file)
|
3.50 KB,
patch
|
botond
:
review+
|
Details | Diff | Splinter Review |
| Reporter | ||
Comment 1•9 years ago
|
||
| Comment hidden (Intermittent Failures Robot) |
Updated•9 years ago
|
Whiteboard: [gfx-noted]
| Assignee | ||
Updated•9 years ago
|
Component: Graphics: Layers → Panning and Zooming
| Assignee | ||
Comment 3•9 years ago
|
||
Presumably regression from bug 1275604 which added this test.
Assignee: nobody → bugmail.mozilla
Blocks: 1275604
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Comment 6•9 years ago
|
||
The Android failures seem to be just because the test takes a long time and times out. We should bump up the timeout on the test based on the number of subtests it's running.
| Assignee | ||
Comment 7•9 years ago
|
||
Try push with some logging for Linux:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3cb4ff52b3e8
| Assignee | ||
Comment 8•9 years ago
|
||
From the logging output it looks like some of the touch events just don't get through, we're in the middle of synthesizing a horizontal drag when the events just stop. There's also a crash stack further down in the log which seems to indicate that the the parent process main thread is stuck in a call to WidgetToScreenOffset which requires some roundtripping to the X server and waiting for a reply. Might be some sort of race condition where if we call this function too frequently a reply gets lost? That would explain why this is only really happening on Linux.
| Assignee | ||
Comment 9•9 years ago
|
||
But anyway the failures in the try push are not the same as the failures in orangefactor, so maybe I should just ignore these.
| Assignee | ||
Comment 10•9 years ago
|
||
Another try push to try and isolate the Linux x64 TC M-e10s-8 job which seems to have the lion's share of the failures reported in OF (and which, inconveniently, I can't add a job for on my existing try push).
https://treeherder.mozilla.org/#/jobs?repo=try&revision=9effe4110ac1
| Assignee | ||
Comment 11•9 years ago
|
||
I haven't been able to reproduce this failure in over 100 runs of the APZ mochitests with rr chaos mode. The try push above is also turning up quite empty so far. I might have to land more logging into the tree.
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Updated•9 years ago
|
Priority: -- → P3
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Comment 17•9 years ago
|
||
Tried another try push with logging, still no repros: https://treeherder.mozilla.org/#/jobs?repo=try&revision=dcb4e039d24a
I suspect the logging is adjusting the timing sufficiently that the test always passes. But I'm surprised that I wasn't able to reproduce it with rr chaos mode.
| Assignee | ||
Comment 18•9 years ago
|
||
Ok, I trimmed down the logging and got some useful output in https://treeherder.mozilla.org/#/jobs?repo=try&revision=8ca3f34cf260&selectedJob=23449599
It seems to indicate that after setting the touch-action to 'manipulation' at [1], the next touch drag still uses 'none' as the touch-action value. So either the waitForAllPaints/flushApzRepaints wasn't sufficient to flush the event regions to the compositor, or the compositor hit-test didn't pick it up properly.
[1] http://searchfox.org/mozilla-central/rev/a7c8e9f3cc323fd707659175a46826ad12899cd1/gfx/layers/apz/test/mochitest/helper_touch_action.html#82
| Assignee | ||
Comment 19•9 years ago
|
||
Looks like the event regions don't get flushed to the compositor based on the logging in https://treeherder.mozilla.org/#/jobs?repo=try&revision=25f3ba340c22&selectedJob=23502841
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Comment 25•9 years ago
|
||
With the patches on bug 1288187 I can repro a similar failure on OS X pretty trivially. I believe the problem is that after changing the touchAction property from script, we need to do a flush before the style difference algorithm is run and schedules a paint. In other words, the way the test is written now, it's possible that no paint occurs between changing the touchAction property, and the following events getting dispatched. One is guaranteed to happen eventually, but if we want to force it to happen there we need to use waitForAllPaintsFlushed instead of waitForAllPaints. Patch coming up.
| Assignee | ||
Comment 26•9 years ago
|
||
| Assignee | ||
Comment 27•9 years ago
|
||
Comment on attachment 8773338 [details] [diff] [review]
Patch
Try push is looking good.
Attachment #8773338 -
Flags: review?(botond)
| Comment hidden (Intermittent Failures Robot) |
Updated•9 years ago
|
Attachment #8773338 -
Flags: review?(botond) → review+
Comment 29•9 years ago
|
||
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1828ce0a42d8
After changing the touch-action property, ensure we flush layout before waiting for the paint. r=botond
Comment 30•9 years ago
|
||
| bugherder | ||
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox50:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
Comment 31•9 years ago
|
||
| bugherder uplift | ||
| Comment hidden (Intermittent Failures Robot) |
You need to log in
before you can comment on or make changes to this bug.
Description
•