-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[v18.x] Temporarily revert libuv #50036
Conversation
For transparency, reverting libuv 1.45.0 and 1.46.0 would undo the changes noted in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rubber stamp LGTM
What do you think is the risk to break users who might depend on the new libuv versions being present? |
@targos are you thinking about native addons or something else in terms of dependencies on newer versions of libuv? |
Nothing in particular. Could be native addons. Could be bug fixes that affect specific workloads and are now depended upon. |
Low? Of the notable changes in:
Node.js 18 has had regressions for the last three releases
Reverting the libuv change would be a fairly quick way of fixing the regressions in Node.js 18.18.0. I can volunteer to do a quick Node.js 18.18.1 release containing this PR -- I would not have time to volunteer to do a full Node.js 18 release this month. If people would rather we did not temporarily revert libuv in Node.js 18 please request changes on this PR. I'm happy to go with whatever consensus @nodejs/lts comes to. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable to me. Will try to cut a new libuv release with those fixes soonish.
Are these issues also present in node 20? Is there a plan to revert libuv in 20 as well? I am just wondering what the options are for cgroup v2 and LTS |
Currently no plans to revert in Node.js 20 -- the libuv updates have been in eight Node.js 20 releases (starting with 20.3.0 in June). |
Landed in 7a3e1ff...14ece2c. |
* chore: bump node in DEPS to v18.18.1 * Revert "deps: upgrade to libuv 1.46.0" nodejs/node#50036 * chore: fixup patch indices --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: bump node in DEPS to v18.18.1 * Revert "deps: upgrade to libuv 1.46.0" nodejs/node#50036 * chore: fixup patch indices --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: bump node to v18.18.1 (main) (#40174) * chore: bump node in DEPS to v18.18.1 * Revert "deps: upgrade to libuv 1.46.0" nodejs/node#50036 * chore: fixup patch indices --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump node to v18.18.2 (main) (#40205) * chore: bump node in DEPS to v18.18.2 * chore: update patches * deps: update nghttp2 to 1.55.0 nodejs/node#48746 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
* chore: bump node in DEPS to v18.18.1 * Revert "deps: upgrade to libuv 1.46.0" nodejs/node#50036 * chore: fixup patch indices --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Temporarily revert recent libuv updates (1.46.0 and 1.45.0) in Node.js 18 to fix regressions:
Also #49911 which is a separate bug that was exposed by the performance profile change that IO_URING introduced (for this particular one I've already landed the Node.js fix on the staging branch but it demonstrates the risk that drastic performance changes can have on LTS release lines).
While the IO_URING issues can be worked around by setting
UV_USE_IO_URING=0
in the environment, the Windows FS regression cannot. Upstream libuv contains fixes for the Windows regression and IO_URING fixes that are not yet in a libuv release:I think it's too early to have IO_URING enabled by default in LTS Node.js. Were it just the IO_URING issues I might propose patching libuv to disable it by default in Node.js 18 instead of reverting the updates.
Even if a new libuv version was to be made available now we normally would not land that in LTS until it has been released in a current release for two weeks.
cc @nodejs/lts @nodejs/releasers