`./mach test` stalls on redirect.html as browser-test.js fails to read `testing.browserTestHarness.timeout` (on aarch64 Windows)
Categories
(Testing :: Mochitest, defect)
Tracking
(firefox-esr128 unaffected, firefox-esr140 unaffected, firefox141 unaffected, firefox142 unaffected, firefox143 fixed)
| Tracking | Status | |
|---|---|---|
| firefox-esr128 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox141 | --- | unaffected |
| firefox142 | --- | unaffected |
| firefox143 | --- | fixed |
People
(Reporter: saschanaz, Assigned: saschanaz)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(1 file)
testing.browserTestHarness.timeout seems to exist only when the relevant option is specified, but bug 1978111 started to read it unconditionally without specifying a default value. Thus browser-test.js throws at line 8.
0:25.86 GECKO(21700) JavaScript error: chrome://mochikit/content/browser-test.js, line 8: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getIntPref]
| Assignee | ||
Updated•3 months ago
|
Comment 1•3 months ago
|
||
Which test were you trying to run? The code sets the test_timeout variables for the 'browser', 'chrome' and 'a11y' mochitest flavors: https://searchfox.org/mozilla-central/rev/146c8d8d1f3cf15be3c263808f9674a97752c41a/testing/mochitest/runtests.py#2476,2492-2495 Is there another one that I missed and that isn't running on CI?
| Assignee | ||
Comment 2•3 months ago
|
||
It's mochitest. ./mach test dom/bindings/test fails.
Comment 3•3 months ago
|
||
Set release status flags based on info from the regressing bug 1978111
| Assignee | ||
Comment 4•3 months ago
•
|
||
Actually maybe the cause is somewhere else?
0:13.05 GECKO(33340) C:\Users\sasch\AppData\Local\Temp\tmpszs1nawg.mozrunner\user.js:235: prefs parse error: unexpected character
And line 235 has this:
user_pref("testing.browserTestHarness.timeout", 240.0);
Which seemingly is from
if mozinfo.info["os"] == "win" and mozinfo.info["processor"] == "aarch64":
test_timeout = self.DEFAULT_TIMEOUT * 4
self.log.info(
f"Increasing default timeout to {test_timeout} seconds (win aarch64)"
)
where self.DEFALUT_TIMEOUT is 60.0. (Looks like the pref parser only supports integers, and yes I'm on aarch64 Windows.)
It seems so far it worked only because the test only conditionally read the value before bug 1978111:
if (prefs.prefHasUserValue("testing.browserTestHarness.timeout")) {
gTimeoutSeconds = prefs.getIntPref("testing.browserTestHarness.timeout");
}
| Assignee | ||
Updated•3 months ago
|
| Assignee | ||
Comment 5•3 months ago
|
||
Changing DEFALUT_TIMEOUT to 60 fixes the issue. But why do we not use DEFAULT_TIMEOUT elsewhere? 🤔
| Assignee | ||
Comment 6•3 months ago
•
|
||
The special condition for aarch64 Windows is added 6 years ago from bug 1525743. Is that still needed, or can we drop it? (Are we using the same slow hardware on CI for aarch64 Windows?)
| Assignee | ||
Comment 7•3 months ago
|
||
Actually we don't even run tests on aarch64 Windows. Let's just drop it?
| Assignee | ||
Comment 8•3 months ago
|
||
We don't run CI on such hardware.
Updated•3 months ago
|
Comment 10•3 months ago
|
||
Comment 11•3 months ago
|
||
Backed out for causing mda failures on test_streams_element_capture_mediatrack.html
| Assignee | ||
Comment 12•3 months ago
|
||
Hello Cristina, this patch only affects Windows aarch64 which we don't really have in our CI, meaning zero effect on our CI. Probably the culprit is something else, like bug 1967793?
Comment 13•3 months ago
|
||
Comment 14•3 months ago
|
||
I've relanded, will investigate further. Thanks
Comment 15•3 months ago
|
||
| bugherder | ||
Comment 16•3 months ago
|
||
| bugherder | ||
Description
•