Closed
Description
When in a docker container on an x86_64 host system under kernel 6.8.0-rc5, the following fails:
chronos@mbp113-x86_64 /tmp $ echo "test" > test
chronos@mbp113-x86_64 /tmp $ irb
irb(main):001> FileUtils.install 'test', 'dira/'
/usr/local/lib64/ruby/3.3.0/fileutils.rb:2280:in `copy_stream': Operation not supported - copy_file_range (Errno::ENOTSUP)
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2280:in `block (2 levels) in copy_file'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2279:in `open'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2279:in `block in copy_file'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2278:in `open'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2278:in `copy_file' from /usr/local/lib64/ruby/3.3.0/fileutils.rb:1078:in `copy_file'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:1629:in `block in install'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2469:in `block in fu_each_src_dest'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2485:in `fu_each_src_dest0'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:2467:in `fu_each_src_dest'
from /usr/local/lib64/ruby/3.3.0/fileutils.rb:1623:in `install'
from (irb):1:in `<main>'
from <internal:kernel>:187:in `loop'
from /usr/local/lib64/ruby/gems/3.3.0/gems/irb-1.11.0/exe/irb:9:in `<top (required)>'
from /usr/local/bin/irb:25:in `load'
from /usr/local/bin/irb:25:in `<main>'
irb(main):002>
Reproducer container:
docker run --platform linux/amd64 --rm --net=host -v $(pwd):/output -h $(hostname)-x86_64 -it satmandu/crewbuild:nocturne-x86_64.m90
Docker version info:
docker version
Client: Docker Engine - Community
Version: 25.0.3
API version: 1.44
Go version: go1.21.6
Git commit: 4debf41
Built: Tue Feb 6 21:14:22 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 25.0.3
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: f417435
Built: Tue Feb 6 21:14:22 2024
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: 1.6.28 GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12 GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0 GitCommit: de40ad0
When I am booted into kernel 6.7.5, I don't have any issues. (I have reproduced this on two machines.)
This is an issue even if I manually do a gem install fileutils
first:
chronos@mbp113-x86_64 /usr/local/lib/crew/packages $ ruby --version ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux-gnu] chronos@mbp113-x86_64 /usr/local/lib/crew/packages $ gem install fileutils Fetching fileutils-1.7.2.gem Successfully installed fileutils-1.7.2
1 gem installed
chronos@mbp113-x86_64 /usr/local/lib/crew/packages $ cd /tmp
chronos@mbp113-x86_64 /tmp $ echo 'test' > test
chronos@mbp113-x86_64 /tmp $ irb
irb(main):001> require 'fileutils'
=> false
irb(main):002> FileUtils.install 'test', 'dira/'
/usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2280:in `copy_stream': Operation not supported - copy_file_range (Errno::ENOTSUP)
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2280:in `block (2 levels) in copy_file'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2279:in `open'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2279:in `block in copy_file'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2278:in `open'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2278:in `copy_file'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:1078:in `copy_file' [
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:1629:in `block in install'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2469:in `block in fu_each_src_dest'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2485:in `fu_each_src_dest0'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:2467:in `fu_each_src_dest'
from /usr/local/lib64/ruby/gems/3.3.0/gems/fileutils-1.7.2/lib/fileutils.rb:1623:in `install'
from (irb):2:in `<main>'
from <internal:kernel>:187:in `loop'
from /usr/local/lib64/ruby/gems/3.3.0/gems/irb-1.11.0/exe/irb:9:in `<top (required)>'
from /usr/local/bin/irb:25:in `load'
from /usr/local/bin/irb:25:in `<main>'
irb(main):003>
Metadata
Metadata
Assignees
Labels
No labels