Closed Bug 1666016 Opened 5 years ago Closed 5 years ago

Intermittent gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_bug1280013.html | The displayport top should be less than or equal to zero to cover the visible part of the subframe; it is 23

Categories

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

defect

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

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

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

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


[task 2020-09-18T18:30:47.646Z] 18:30:47 INFO - 1639 INFO TEST-START | gfx/layers/apz/test/mochitest/test_group_zoom-2.html
[task 2020-09-18T18:30:58.085Z] 18:30:58 INFO - Buffered messages logged at 18:30:46
[task 2020-09-18T18:30:58.086Z] 18:30:58 INFO - 1640 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | Starting subtest helper_bug1280013.html
[task 2020-09-18T18:30:58.086Z] 18:30:58 INFO - Buffered messages logged at 18:30:47
[task 2020-09-18T18:30:58.086Z] 18:30:58 INFO - 1641 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_bug1280013.html | Screen height must be at least 500 pixels for this test to work
[task 2020-09-18T18:30:58.087Z] 18:30:58 INFO - 1642 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_bug1280013.html | Main-thread scroll position is still at 0
[task 2020-09-18T18:30:58.087Z] 18:30:58 INFO - 1643 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | expected scroll frame data for scroll id 107
[task 2020-09-18T18:30:58.087Z] 18:30:58 INFO - 1644 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | expected a displayport for scroll id 107
[task 2020-09-18T18:30:58.088Z] 18:30:58 INFO - 1645 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | expected string of form (x,y,w,h)
[task 2020-09-18T18:30:58.088Z] 18:30:58 INFO - Buffered messages finished
[task 2020-09-18T18:30:58.088Z] 18:30:58 WARNING - 1646 INFO TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_bug1280013.html | The displayport top should be less than or equal to zero to cover the visible part of the subframe; it is 23
[task 2020-09-18T18:30:58.088Z] 18:30:58 INFO - SimpleTest.ok@SimpleTest/SimpleTest.js:417:16
[task 2020-09-18T18:30:58.089Z] 18:30:58 INFO - spawnTest/w.ok@gfx/layers/apz/test/mochitest/apz_test_utils.js:432:32
[task 2020-09-18T18:30:58.089Z] 18:30:58 INFO - test@gfx/layers/apz/test/mochitest/helper_bug1280013.html:57:9
[task 2020-09-18T18:30:58.089Z] 18:30:58 INFO - driveTest@gfx/layers/apz/test/mochitest/apz_test_utils.js:644:36
[task 2020-09-18T18:30:58.090Z] 18:30:58 INFO - 1647 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_bug1280013.html | The displayport bottom should be greater than the clientHeight; it is 471
[task 2020-09-18T18:30:58.090Z] 18:30:58 INFO - 1648 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_bug1280013.html | Found exactly one displayport for the subframe we were interested in.
[task 2020-09-18T18:30:58.091Z] 18:30:58 INFO - 1649 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | Starting subtest helper_zoom_restore_position_tabswitch.html
[task 2020-09-18T18:30:58.091Z] 18:30:58 INFO - 1650 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Visual viewport got resized 1 times
[task 2020-09-18T18:30:58.092Z] 18:30:58 INFO - 1651 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Visual viewport should not be same as layout viewport (left)
[task 2020-09-18T18:30:58.092Z] 18:30:58 INFO - 1652 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Visual viewport should not be same as layout viewport (top)
[task 2020-09-18T18:30:58.093Z] 18:30:58 INFO - 1653 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Sanity check to ensure visual viewport is not at 0,0 (left)
[task 2020-09-18T18:30:58.093Z] 18:30:58 INFO - 1654 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Sanity check to ensure visual viewport is not at 0,0 (top)
[task 2020-09-18T18:30:58.093Z] 18:30:58 INFO - 1655 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Sanity check to ensure visual viewport scale is > 1
[task 2020-09-18T18:30:58.093Z] 18:30:58 INFO - 1656 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Got focus back after self-closer closed
[task 2020-09-18T18:30:58.094Z] 18:30:58 INFO - 1657 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Field x of the zoomed viewport restored
[task 2020-09-18T18:30:58.094Z] 18:30:58 INFO - 1658 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Field y of the zoomed viewport restored
[task 2020-09-18T18:30:58.094Z] 18:30:58 INFO - 1659 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Field w of the zoomed viewport restored
[task 2020-09-18T18:30:58.095Z] 18:30:58 INFO - 1660 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Field h of the zoomed viewport restored
[task 2020-09-18T18:30:58.095Z] 18:30:58 INFO - 1661 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | Field z of the zoomed viewport restored
[task 2020-09-18T18:30:58.096Z] 18:30:58 INFO - 1662 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_restore_position_tabswitch.html | No more VV resizes should have occurred
[task 2020-09-18T18:30:58.096Z] 18:30:58 INFO - 1663 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | Starting subtest helper_zoom_with_dynamic_toolbar.html
[task 2020-09-18T18:30:58.096Z] 18:30:58 INFO - 1664 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_with_dynamic_toolbar.html | The scale value should be greater than 1.0
[task 2020-09-18T18:30:58.097Z] 18:30:58 INFO - 1665 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_zoom_with_dynamic_toolbar.html | The initial scale value should be restored to 1.0
[task 2020-09-18T18:30:58.097Z] 18:30:58 INFO - 1666 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | Starting subtest helper_visual_scrollbars_pagescroll.html
[task 2020-09-18T18:30:58.097Z] 18:30:58 INFO - 1667 INFO TEST-PASS | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | helper_visual_scrollbars_pagescroll.html | Scrollbar width is zero on this platform, test is useless here
[task 2020-09-18T18:30:58.098Z] 18:30:58 INFO - 1668 INFO TEST-OK | gfx/layers/apz/test/mochitest/test_group_zoom-2.html | took 1512ms

I think this might be caused by my recent displayport alignment work. I'm investigating.

Assignee: nobody → kats

Kats, any update on this? It's high frequency on Android.

Flags: needinfo?(kats)

Sorry for the delay here. I've been looking at it on and off for the past few days but haven't made much progress. I can reproduce it easily enough, just having a hard time figuring out what the root problem is. If I don't make progress by end of day tomorrow I can write a patch to disable the subtest - I'm pretty sure the test has issues with nondeterminism, if nothing else. I'll leave the needinfo on me for now.

Ok, I think I chased this down. For the longest time I was going round in circles because I was looking at the displayport numbers instead of the critical displayport numbers and wondering why stuff didn't match. The test is checking the critical dp which I didn't quite realize.

Anyway, when I repro locally the repaints from the APZ side haven't all been processed on the main thread at the point that we read the displayport. So the displayport we read is some intermediate one from the middle of the panning action, which is obviously nondeterministic and wrong. Changing the flushApzRepaints call to waitForApzFlushedRepaints so that the main thread has a chance to do all the necessary paints seems to fix it for me locally.

Flags: needinfo?(kats)
Pushed by kgupta@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/83dbc65c2b8f Wait for main thread to finish repaints before reading the test data. r=botond
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: