Description
I opened #4598 to check if runc works with Go 1.24 (currently using go1.24rc2) and found out that runc exec is badly broken.
The cause is allegedly a bug in the kernel, which is reported in https://lore.kernel.org/linux-fsdevel/20250122020850.2175427-1-kolyshkin@gmail.com/T/#u
I've also reported a Go bug to golang/go#71375
We can work around it by reimplementing io.Copy but first let's see what kernel and Go developers have to say.
Steps to reproduce the issue
See reproducers in the links above. You can also compile runc with Go 1.24 and run runc exec in the foreground.
Describe the results you received and expected
See above links.
What version of runc are you using?
I belive that any and all versions of runc are affected, when using Go 1.24rc2 (or rc1). The code introducing the use of io.Copy to copy from os.Stdin to a process' stdin is introduced in the very first runc commit 9fac183 aka "Initial commit of runc binary".
Host OS information
No response
Host kernel information
No response
Description
I opened #4598 to check if runc works with Go 1.24 (currently using go1.24rc2) and found out that
runc execis badly broken.The cause is allegedly a bug in the kernel, which is reported in https://lore.kernel.org/linux-fsdevel/20250122020850.2175427-1-kolyshkin@gmail.com/T/#u
I've also reported a Go bug to golang/go#71375
We can work around it by reimplementing
io.Copybut first let's see what kernel and Go developers have to say.Steps to reproduce the issue
See reproducers in the links above. You can also compile runc with Go 1.24 and run
runc execin the foreground.Describe the results you received and expected
See above links.
What version of runc are you using?
I belive that any and all versions of runc are affected, when using Go 1.24rc2 (or rc1). The code introducing the use of
io.Copyto copy from os.Stdin to a process' stdin is introduced in the very first runc commit 9fac183 aka "Initial commit of runc binary".Host OS information
No response
Host kernel information
No response