Update the version of Node for tests to use at least Node 18
Categories
(Firefox Build System :: Toolchains, task)
Tracking
(firefox125 fixed)
| Tracking | Status | |
|---|---|---|
| firefox125 | --- | fixed |
People
(Reporter: standard8, Assigned: glandium)
References
Details
Attachments
(1 file)
For ESLint v9, we need to update Node to version 18.18.0 or later on the test machines.
I have done some preliminary tests and it appears that Node 18 requires Glibc v2.28 or later which is not available on our Linux Ubuntu 18.04 machines.
For background: ESLint is working towards releasing a version 9 later this year, it is currently in the alpha stage. We would like to be able to upgrade to it once it is out, because there are significant improvements to the configuration system which will help to resolve some issues in the ESLint system for mozilla-central.
We are starting on this work early as it is a significant change and requires some preparation work.
| Assignee | ||
Comment 2•1 year ago
|
||
"Tests" is a broad term. But you're talking about eslint. So, what is it you want exactly? node 18 on tests (e.g. mochitest, etc.) or on lints (e.g. tasks in taskcluster/ci/source-test/node.yml)? If only the latter, then there is no problem with glibc 2.28, as those lints run on Debian 12.
| Reporter | ||
Comment 3•1 year ago
|
||
Thank you, I hadn't realised that lints run on a different distribution, which would explain why the ES job still ran on my try push.
So I think the set would be:
- https://searchfox.org/mozilla-central/rev/47b65cbe249613b9af936cd4660789bb642a8e30/taskcluster/ci/source-test/mozlint.yml
- Linters for eslint and stylelint
- https://searchfox.org/mozilla-central/source/taskcluster/ci/source-test/node.yml
- eslint-plugin-mozilla and devtools-* tests
How would ensure that developers got the new version of node when running bootstrap? I can see the node toolchain is marked as local-toolchain, but I can't see how the version of the toolchain would be selected.
Comment 4•1 year ago
|
||
Puppeteer deprecated Node 16 in its newest release and it would be good to not be blocked in the near future by running these tests in our infra - source tests currently use Node 16. As such it would be great to get an upgrade here.
Updated•1 year ago
|
Comment 5•1 year ago
|
||
(In reply to Henrik Skupin [:whimboo][⌚️UTC+1] from comment #4)
Puppeteer deprecated Node 16 in its newest release and it would be good to not be blocked in the near future by running these tests in our infra - source tests currently use Node 16. As such it would be great to get an upgrade here.
We are actually blocked by vendoring new versions of Puppeteer into mozilla-central. At least two new methods are used which do not exist pre version 18. We would appreciate any progress on this bug.
| Assignee | ||
Comment 6•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
Comment 9•1 year ago
|
||
Backed out changeset da0966c2c2d5 (Bug 1875239) foe causing xpc failures CLOSED TREE
Log: https://treeherder.mozilla.org/logviewer?job_id=447693633&repo=autoland&lineNumber=3624
Backout: https://hg.mozilla.org/integration/autoland/rev/85d408241e695339e0f3ab9e93ad8efcadd23ad8
| Assignee | ||
Comment 10•1 year ago
|
||
node moz-http2 [stderr] (node:4868) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 window_update listeners added to [Flow]. Use emitter.setMaxListeners() to increase limit
Comment 11•1 year ago
|
||
:valentin, any chance you would know about this? I see your name as an author on some of the moz-http2 stuff.
| Assignee | ||
Comment 12•1 year ago
|
||
Warning message with a trace:
[task 2024-02-21T01:57:30.592Z] 01:57:30 INFO - node moz-http2 [stderr] (node:5623) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 window_update listeners added to [Flow]. Use emitter.setMaxListeners() to increase limit
[task 2024-02-21T01:57:30.592Z] 01:57:30 INFO - node moz-http2 [stderr] at _addListener (node:events:591:17)
[task 2024-02-21T01:57:30.592Z] 01:57:30 INFO - node moz-http2 [stderr] at Flow.addListener (node:events:609:10)
[task 2024-02-21T01:57:30.592Z] 01:57:30 INFO - node moz-http2 [stderr] at Readable.on (node:internal/streams/readable:928:35)
[task 2024-02-21T01:57:30.592Z] 01:57:30 INFO - node moz-http2 [stderr] at Flow.once (node:events:653:8)
[task 2024-02-21T01:57:30.593Z] 01:57:30 INFO - node moz-http2 [stderr] at Flow._read (/builds/worker/workspace/build/tests/xpcshell/node-http2/lib/protocol/flow.js:175:10)
[task 2024-02-21T01:57:30.593Z] 01:57:30 INFO - node moz-http2 [stderr] at Flow.read (/builds/worker/workspace/build/tests/xpcshell/node-http2/lib/protocol/flow.js:196:10)
[task 2024-02-21T01:57:30.593Z] 01:57:30 INFO - node moz-http2 [stderr] at Connection._send (/builds/worker/workspace/build/tests/xpcshell/node-http2/lib/protocol/connection.js:302:37)
[task 2024-02-21T01:57:30.593Z] 01:57:30 INFO - node moz-http2 [stderr] at process.processImmediate (node:internal/timers:476:21)
Comment 13•1 year ago
|
||
I have a patch fixing the emitter warnings in bug 1881204, but I'm not 100% sure it'll fix it.
I've run the tests locally with node19 and they seem to pass.
| Assignee | ||
Comment 14•1 year ago
|
||
(In reply to Valentin Gosu [:valentin] (he/him) from comment #13)
I have a patch fixing the emitter warnings in bug 1881204, but I'm not 100% sure it'll fix it.
It doesn't seem to. Well, it does fix the warnings. Not the timeouts.
Comment 15•1 year ago
|
||
You can disable the tests and file a Networking bug to figure out the problem. I expect it's something related to our Node proxy implementation.
Comment 16•1 year ago
|
||
Comment 17•1 year ago
|
||
| bugherder | ||
| Reporter | ||
Comment 18•1 year ago
|
||
Thank you for fixing this, Mike.
Description
•