-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
unix: disable io_uring close on selected kernels #4141
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 <[email protected]>
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.16 I 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Tim Beyer <[email protected]> Co-authored-by: Garden CI <[email protected]>
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.