unix: disable io_uring close on selected kernels#4141
Conversation
Specifically on non-longterm kernels between 5.16.0 (non-longterm) and 6.1.0 (longterm). Starting with longterm 6.1.0, the issue is solved.
f117c93 to
a43dc1a
Compare
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
Seems like the issue is present in 6.2 as well ref yarnpkg/berry#5754 (comment). |
|
@merceyz thanks for the report. I just tested in |
|
@merceyz one more thing. I think that kernel version you're using is from Ubuntu, right? If so, can you provide the output of Thanks! |
|
I should have tested more before commenting on this PR, I tested with It's happening on a GitHub Actions Ubuntu 22.04 runner and there has been a new release since I left that comment so I can only fetch it from that: $ cat /proc/version_signature
Ubuntu 6.2.0-1012.12~22.04.1-azure 6.2.16I don't have a reduced test case yet but here is a link to the source tree and a failed run: I tested with the test case you linked to but it works fine. |
Libuv 1.45.0 is affected by a kernel bug on certain kernels (Ubuntu 22) This leads to errors where Garden tool downloading errors with ETXTBSY Apparently file descriptor accounting is broken when using USE_IO_URING on older kernels See also libuv/libuv#4141
* chore: bump to node 21.1.0 * chore: fix linter complaint * chore: use new npm modules cache * fix: ts-node/esm module loader * fix: try to see if an explicit import hook register works to fix ts-node esm performance * chore: fix shebang lines * fix: install nodejs using fnm (if needed) * fix: checksum * fix: use getAbi correctly * chore: test nodejs version as separate step * fix: make nodejs install work with machine executor * chore: update node-pty-prebuilt-multiarch to 0.11.10 Apparently the NPM package name changed; I opened an issue upstream to clarify because the github repo still links to the old NPM repo. homebridge/node-pty-prebuilt-multiarch#31 * chore: bump typescript types and eslint packages * chore: make no-explicit-any a warning only * fix: consistent versions for node-pty-multiarch * fix: alpine docker sha hash * fix: clean up unwanted log messages in the release binary * fix: musl checksum * fix: avoid issues due to cache poisoning * fix: wait until write stream is finished Co-authored-by: Tim Beyer <TimBeyer@users.noreply.github.com> * fix: use pipeline to await until write stream really finished * fix: properly implement streaming * chore: update circleci machine image * fix: add env var UV_USE_IO_URING=0 to avoid kernel bug Libuv 1.45.0 is affected by a kernel bug on certain kernels (Ubuntu 22) This leads to errors where Garden tool downloading errors with ETXTBSY Apparently file descriptor accounting is broken when using USE_IO_URING on older kernels See also libuv/libuv#4141 * fix: tested error message became more detailed --------- Co-authored-by: Steffen Neubauer <steffen@garden.io> Co-authored-by: Tim Beyer <TimBeyer@users.noreply.github.com> Co-authored-by: Garden CI <admin@garden.io>
Specifically on non-longterm kernels between 5.16.0 (non-longterm) and 6.1.0 (longterm). Starting with longterm 6.1.0, the issue is solved.