Closed stephenmcgruer closed 4 years ago
https://github.com/web-platform-tests/wpt/pull/24680 is possibly in the regression range, it could maybe be involved?
This only seems to happen in some shards; I've not yet determined whether it's deterministic.
That change wouldn't be my first guess; this code isn't actually using geckodriver. I vaugely recall seeing this error in some other context but I can't remember any details right now.
FTR, I can reproduce this on Linux with
./wpt run --channel=stable --binary=~/firefox-stable/firefox --no-manifest-update --manifest MANIFEST.json --log-mach-level=debug --log-mach=- firefox dom/historical.html
(Where ~/firefox-stable
is a fresh install of Firefox 79 downloaded from Mozilla's website)
Ziran also reported what I believe to be the same issue in https://github.com/web-platform-tests/wpt/issues/24991
Bisecting: git bisect start 1fdbfcc68156cd8d8a74a6cfd859b43adc3ca502 d62995e62ca8653b4cf565e61c309471b544fab8
$ git bisect good
Bisecting: 0 revisions left to test after this (roughly 1 step)
[c9989035252440d5695c28176201b3d9f14649a9] Update marionette_driver from 3.0.0 to 3.1.0
Confirmed reverting c9989035252440d5695c28176201b3d9f14649a9 on master fixes the problem.
Great job, Stephen!
Is the marionette-driver not backward compatible? Do we need to manage it the same way we manage webdriver binaries (i.e. depending on the browser version)?
Let's do
handle = marionette._send_message("WebDriver:SwitchToWindow", {"handle": handle, "name": handle, "focus": True})
marionette.window = handle
marionette_driver is in maintaince mode and I think it's sometimes forgotten that wpt is an out of tree consumer. We could get this fixed on the gecko side but I think it's better in the long term to reduce our dependence on the marionette_driver package. With some luck this will all eventually be replaced by webdriver-bidi.
Can we just switch to geckodriver alone?
No, that won't work. Not using geckodriver has various advantages for gecko devs (faster, they don't need to build geckodriver), plus we are using some APIs that aren't exposed in geckodriver for doing things like reftests.
See https://github.com/web-platform-tests/wpt/commits/epochs/daily
Example run: https://community-tc.services.mozilla.com/tasks/groups/X50KGIpZSMq0Ag7vQhbM6A
Example task log: https://community-tc.services.mozilla.com/tasks/T13biD2PSOWC73kPlvymBw/runs/0/logs/https%3A%2F%2Fcommunity-tc.services.mozilla.com%2Fapi%2Fqueue%2Fv1%2Ftask%2FT13biD2PSOWC73kPlvymBw%2Fruns%2F0%2Fartifacts%2Fpublic%2Flogs%2Flive.log
They've been failing since July 23rd (we didn't notice for a while since wpt.fyi was ingesting the partially complete results; I found the start point by looking where the # of results fell from ~34k to ~17k).