Closed Bug 1840239 Opened 1 year ago Closed 1 year ago

Perma /css/css-scroll-snap/input/keyboard.html | Snaps to bottom-left after pressing ArrowDown - Test timed out

Categories

(Core :: Layout: Scrolling and Overflow, defect, P5)

defect

Tracking

()

RESOLVED FIXED
116 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox-esr115 --- unaffected
firefox114 --- unaffected
firefox115 --- unaffected
firefox116 --- fixed

People

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

References

(Regressed 1 open bug, Regression)

Details

(Keywords: intermittent-failure, intermittent-testcase, regression)

Attachments

(1 file, 1 obsolete file)

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


[task 2023-06-24T11:27:28.545Z] 11:27:28     INFO - TEST-START | /css/css-scroll-snap/input/keyboard.html
[task 2023-06-24T11:27:28.592Z] 11:27:28     INFO - Setting pref dom.animations-api.compositing.enabled to true
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-x'] = "auto" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-y'] = "contain" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-y'] = "none" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-y'] = "auto" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-inline'] = "contain" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-inline'] = "none" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-inline'] = "auto" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-block'] = "contain" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-block'] = "none" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-PASS | /css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html | e.style['overscroll-behavior-block'] = "auto" should set the property value 
[task 2023-06-24T11:28:09.224Z] 11:28:09     INFO - TEST-UNEXPECTED-TIMEOUT | /css/css-scroll-snap/input/keyboard.html | Snaps to bottom-left after pressing ArrowDown - Test timed out
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - TEST-INFO | expected FAIL
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - 
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - TEST-UNEXPECTED-NOTRUN | /css/css-scroll-snap/input/keyboard.html | Snaps to top-left after pressing ArrowUp - expected PASS
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - 
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - TEST-UNEXPECTED-NOTRUN | /css/css-scroll-snap/input/keyboard.html | Snaps to top-right after pressing ArrowRight - expected PASS
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - 
[task 2023-06-24T11:28:09.225Z] 11:28:09     INFO - TEST-UNEXPECTED-NOTRUN | /css/css-scroll-snap/input/keyboard.html | Snaps to top-left after pressing ArrowLeft - expected PASS
[task 2023-06-24T11:28:09.226Z] 11:28:09     INFO - 
[task 2023-06-24T11:28:09.226Z] 11:28:09     INFO - TEST-UNEXPECTED-NOTRUN | /css/css-scroll-snap/input/keyboard.html | If the original intended offset is valid as making a snap area cover thesnapport, and there's no other snap offset in between, use the originalintended offset - expected PASS
[task 2023-06-24T11:28:09.226Z] 11:28:09     INFO - 
[task 2023-06-24T11:28:09.226Z] 11:28:09     INFO - TEST-UNEXPECTED-NOTRUN | /css/css-scroll-snap/input/keyboard.html | If the original intended offset is valid as making a snap area cover the snapport, but there's a defined snap offset in between, use the defined snap offset. - expected TIMEOUT
[task 2023-06-24T11:28:09.226Z] 11:28:09     INFO - TEST-INFO | expected TIMEOUT
[task 2023-06-24T11:28:09.289Z] 11:28:09     INFO - TEST-TIMEOUT | /css/css-scroll-snap/input/keyboard.html | took 40744ms
[task 2023-06-24T11:28:09.657Z] 11:28:09     INFO - STDOUT: cleanup aborted: Unable to remount device
[task 2023-06-24T11:28:09.746Z] 11:28:09     INFO - STDOUT: cleanup aborted: Unable to remount device
[task 2023-06-24T11:28:09.747Z] 11:28:09     INFO - Closing logging queue
[task 2023-06-24T11:28:09.747Z] 11:28:09     INFO - queue closed
[task 2023-06-24T11:28:09.761Z] 11:28:09     INFO - Setting up ssl
[task 2023-06-24T11:28:09.776Z] 11:28:09     INFO - certutil | b''
[task 2023-06-24T11:28:09.793Z] 11:28:09     INFO - certutil | b''
[task 2023-06-24T11:28:09.803Z] 11:28:09     INFO - certutil | b'\nCertificate Nickname                                         Trust Attributes\n                                                             SSL,S/MIME,JAR/XPI\n\nweb-platform-tests                                           CT,, \n'
[task 2023-06-24T11:28:10.364Z] 11:28:10     INFO - adb Granting important runtime permissions to org.mozilla.geckoview.test_runner
[task 2023-06-24T11:28:11.567Z] 11:28:11     INFO - adb launch_application: am start -W -n org.mozilla.geckoview.test_runner/org.mozilla.geckoview.test_runner.TestRunnerActivity -a android.intent.action.MAIN --es env0 MOZ_CRASHREPORTER=1 --es env1 MOZ_CRASHREPORTER_NO_REPORT=1 --es env2 MOZ_CRASHREPORTER_SHUTDOWN=1 --es env3 MOZ_HIDE_RESULTS_TABLE=1 --es env4 MOZ_IN_AUTOMATION=1 --es env5 MOZ_LOG=signaling:3,mtransport:4,DataChannel:4,jsep:4 --es env6 R_LOG_LEVEL=6 --es env7 R_LOG_DESTINATION=stderr --es env8 R_LOG_VERBOSE=1 --es env9 MOZ_PROCESS_LOG=/tmp/tmpxykkhsqfpidlog --es env10 MOZ_DISABLE_NONLOCAL_CONNECTIONS=1 --es arg0 -no-remote --es arg1 -profile --es arg2 /data/local/tmp/test_root/profile --es arg3 --marionette --es arg4 about:blank --ez use_multiprocess True
[task 2023-06-24T11:28:12.799Z] 11:28:12     INFO - Starting runner
[task 2023-06-24T11:28:13.713Z] 11:28:13     INFO - TEST-START | /css/css-scroll-snap/input/mouse-wheel.html

Hello, could you take a look at this failure? It is perma failing on central and it seems that it might be caused by Bug 1835600 but we are not entirely sure. Thank you!

Flags: needinfo?(botond)

Sure, I'll take a look. Leaving the needinfo on me for now.

At least in a local run, this test times out for me even without the fix for bug 1835600.

I overlooked the fact that the tests's ini file already expects the test to fail or timeout in many configurations. Moreover, these annotations seem to have been generated automatically. This suggests that our behaviour on the test is already fairly broken, and the reason for that brokenness is not well understood.

So, I'm a bit unclear on what the expectation here is. If a patch I land changes the behaviour in a particular configuration from "fail" to "timeout", should that be grounds to back out my patch? Or would it be appropriate to adjust the expectation, and then track greening up the test in various configurations in an existing bug (like bug 1642830 in this case)?

Flags: needinfo?(botond) → needinfo?(james)

(I'm also unclear on what the relationship is between the expectations listed up here, and the ones under specific labels like these -- is the first one a fallback for test cases not covered by any of the latter?)

(In reply to Botond Ballo [:botond] from comment #4)

If a patch I land changes the behaviour in a particular configuration from "fail" to "timeout"

I did confirm via Try that it's bug 1835600 which had this effect.

Keywords: regression
Regressed by: 1835600

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

I did some investigation of the timeout and found that the underlying issue is the same one that necessitated using a fuzzy check in helper_scroll_snap_on_page_down_scroll.html. However, I'm less sure if we can make that kind of change of a web-platform-test.

One interesting thing I found is that for main-thread scrolling, the "range" around the scroll destination (which constrains the behaviour of ClampAndAlignWithPixels) is set to empty when the scrolling is done for the purpose of scroll snapping. In the case of smooth scrolling, this range is then retained on the AsyncScroll object and respected for scrolling done by the animation.

However, when the animation is handed off to APZ, we don't propagate any such "range", nor information that the animation is done for the purpose of scroll snapping.

I don't think it's a good idea to amend the web platform test itself due to our internal technical debt.

Bug 1774315 is truly our fault inside Gecko. If, for example, a site does something to make sure the scroll position (or a snap point) is, say 40px, after the site does scroll to 40px, and if the site does try to align the scroll position to the given position if it's not. It will repeatedly try to scroll the 40px. That's a bug.

Anyway just adjusting the expectation in the ini file should be fine for me. The test itself has been quite flaky, I'd hope I can have a time to take a look as a part of the 2023 interop task.

(In reply to Botond Ballo [:botond] from comment #9)

One interesting thing I found is that for main-thread scrolling, the "range" around the scroll destination (which constrains the behaviour of ClampAndAlignWithPixels) is set to empty when the scrolling is done for the purpose of scroll snapping. In the case of smooth scrolling, this range is then retained on the AsyncScroll object and respected for scrolling done by the animation.

However, when the animation is handed off to APZ, we don't propagate any such "range", nor information that the animation is done for the purpose of scroll snapping.

That sounds like another bug. :/ But I am not sure we should address it since I'd rather fix bug 1774315.

Assignee: nobody → botond
Status: NEW → ASSIGNED

I am going to propose that we take the safer approach of restricting the handoff to non-scrollsnap cases for now.

I will file a follow-up for the scrollsnap case (and maybe we can just make it depend on bug 1774315 rather than devising new workarounds).

(I will note that the handoff condition for relative scrolls also excludes scroll snapping.)

Oops, I missed that all perma failure here are on Android. And the wpt lacks <meta name="viewport"> tag, is it just fixed by adding it?

(In reply to Hiroyuki Ikezoe (:hiro) from comment #14)

Oops, I missed that all perma failure here are on Android. And the wpt lacks <meta name="viewport"> tag, is it just fixed by adding it?

It seems to locally. I will see how it fares on Try.

Attachment #9340885 - Attachment is obsolete: true
Pushed by bballo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5124c12d1b3f Use a meta viewport tag in css/css-scroll-snap/input/keyboard.html. r=hiro
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/40744 for changes under testing/web-platform/tests
Regressions: 1840331
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
Flags: needinfo?(james)
Upstream PR merged by moz-wptsync-bot

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

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: