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
lxc-start hangs on kernels >=5.17.0 when built with io-uring support #4118
Comments
Thank you for the issue report. I've asked on the mailing list what the best way to fix this would be. |
This also seems to happen with older kernel versions, see e.g. #4081 I ran into similar issues with lxc 5.0.1 under various 5.15.x-gentoo kernels (gentoo-sources) on a virtual private server (KVM-based). When compiled with Recompiled lxc without io-uring, and the troubles were gone. |
see also #4256 |
see also axboe/liburing#849 |
It should be fixed by #4304 or (if it was a kernel bug) in recent Linux kernel versions. |
Required information
lxc-checkconfig
:uname -a
:cat /proc/self/cgroup
cat /proc/1/mounts
Issue description
lxc-start hangs on kernels >=5.17.0 when built with io-uring support. This was caused by a combination of the kernel no longer downgrading tty/pty multishot poll requests to oneshot (kernel commit aa43477b0402) in conjunction with incorrect usage of multishot io-uring by LXC. Details of the problem are available in this email message and a POC fix is attached to this email message.
Steps to reproduce
The following commands are sufficient to reproduce the problem for me:
The lxc-stop command never exits and the container continues running because lxc-start is hung in a read(2) call that will never return.
The text was updated successfully, but these errors were encountered: