Skip to content
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

Installing bundler in parallel raises errors #7580

Closed
dorianmariecom opened this issue Apr 15, 2024 · 8 comments
Closed

Installing bundler in parallel raises errors #7580

dorianmariecom opened this issue Apr 15, 2024 · 8 comments

Comments

@dorianmariecom
Copy link

Describe the problem as clearly as you can

When installing bundler in parallel in multiple processes, an error in raised.

Did you try upgrading rubygems & bundler?

Same after updating rubygems

Post steps to reproduce the problem

With the dorian-parallel gem that executes ruby code in parallel:

~/s/dorianmariecom> gem uninstall bundler
Gem bundler-2.5.7 cannot be uninstalled because it is a default gem
Successfully uninstalled bundler-2.5.9
~/s/dorianmariecom> seq 10 | parallel "system('gem install bundler')"
Fetching bundler-2.5.9.gem
Fetching bundler-2.5.9.gem
ERROR:  While executing gem ... (Gem::Package::FormatError)
    unexpected end of file in /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/cache/bundler-2.5.9.gem
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:404:in `rescue in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:387:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:861:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:328:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/resolver/specification.rb:105:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:195:in `block in install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:207:in `install_gem'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:223:in `block in install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:162:in `execute'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:254:in `invoke_command'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:193:in `process_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:151:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/gem:12:in `<main>'
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed

Which command did you run?

gem install bundler

What were you expecting to happen?

Installs the gem safely in parallel.

What actually happened?

~/s/dorianmariecom> seq 10 | parallel "system('gem install bundler')"
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory @ apply2files - /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/man/.document
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:2210:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:2210:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1808:in `block in chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1807:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1807:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:457:in `block (2 levels) in extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/tar_reader.rb:65:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:425:in `block in extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:548:in `block in open_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:545:in `wrap'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:545:in `open_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:424:in `extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:398:in `block (2 levels) in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/tar_reader.rb:65:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:395:in `block in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/file_source.rb:30:in `open'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/file_source.rb:30:in `with_read_io'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:392:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:861:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:328:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/resolver/specification.rb:105:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:195:in `block in install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:207:in `install_gem'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:223:in `block in install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:162:in `execute'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:255:in `invoke_command'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:194:in `process_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:152:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/gem:12:in `<main>'
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory @ apply2files - /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/build_metadata.rb
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:2210:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:2210:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1808:in `block in chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1807:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1807:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:457:in `block (2 levels) in extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/tar_reader.rb:65:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:425:in `block in extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:548:in `block in open_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:545:in `wrap'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:545:in `open_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:424:in `extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:398:in `block (2 levels) in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/tar_reader.rb:65:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:395:in `block in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/file_source.rb:30:in `open'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/file_source.rb:30:in `with_read_io'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:392:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:861:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:328:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/resolver/specification.rb:105:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:195:in `block in install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:207:in `install_gem'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:223:in `block in install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:162:in `execute'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:255:in `invoke_command'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:194:in `process_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:152:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/gem:12:in `<main>'
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory @ apply2files - /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/cli/gem.rb
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:2210:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:2210:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1808:in `block in chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1807:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/fileutils.rb:1807:in `chmod'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:457:in `block (2 levels) in extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/tar_reader.rb:65:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:425:in `block in extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:548:in `block in open_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:545:in `wrap'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:545:in `open_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:424:in `extract_tar_gz'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:398:in `block (2 levels) in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/tar_reader.rb:65:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:395:in `block in extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/file_source.rb:30:in `open'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package/file_source.rb:30:in `with_read_io'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:392:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:861:in `extract_files'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/installer.rb:328:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/resolver/specification.rb:105:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:195:in `block in install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/request_set.rb:183:in `install'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:207:in `install_gem'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:223:in `block in install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `each'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:216:in `install_gems'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/commands/install_command.rb:162:in `execute'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:255:in `invoke_command'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:194:in `process_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/command_manager.rb:152:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/gem:12:in `<main>'
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
Successfully installed bundler-2.5.9
1 gem installed
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed
Successfully installed bundler-2.5.9
1 gem installed

If not included with the output of your command, run bundle env and paste the output below

Environment

Bundler       2.5.9
  Platforms   ruby, arm64-darwin-23
Ruby          3.3.0p0 (2023-12-25 revision 5124f9ac7513eb590c37717337c430cb93caa151) [arm64-darwin-23]
  Full Path   /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/ruby
  Config Dir  /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/etc
RubyGems      3.5.9
  Gem Home    /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0
  Gem Path    /Users/dorianmariefr/.gem/ruby/3.3.0:/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0
  User Home   /Users/dorianmariefr
  User Path   /Users/dorianmariefr/.gem/ruby/3.3.0
  Bin Dir     /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin
Tools         
  Git         2.43.2
  RVM         not installed
  rbenv       not installed
  chruby      not installed

Bundler Build Metadata

Built At          2024-04-12
Git SHA           4304697e0c
Released Version  true

Bundler settings

build.mysql2
  Set for the current user (/Users/dorianmariefr/.bundle/config): "-- --with-cflags=\\\"-Wno-error=implicit-function-declaration\\\" --with-ldflags=-L/opt/homebrew/opt/zstd/lib"
@indirect
Copy link
Member

Every gem install bundler command manipulates files at the same absolute path on disk. What would you like to have happen in this case? What would the "correct" result be, for a process that downloads multiple files, decompresses multiple files, and copies multiple files, all to fixed paths on disk, so every process is fighting over the files at every location?

@dorianmariecom
Copy link
Author

I would expect a bunch of:

Successfully installed bundler-2.5.9
1 gem installed

@hsbt
Copy link
Member

hsbt commented Apr 16, 2024

I'm also not sure what you want. Why you want to invoke gem i bundler with parallel?

@dorianmariecom
Copy link
Author

I do:

dir | parallel "Dir.chdir(it) { puts it; system('yarn install && yarn upgrade && bundle && bundle update && bundle update --bundler && git add . && git cmm upgrades && git push') }"

That will run gem install bundler in parallel if there is a new version of bundler

@indirect
Copy link
Member

Can you put “gem install bundler &&” at the front before “dir”, which will only install bundler once and then do everything else?

@deivid-rodriguez
Copy link
Member

Let's close for now given the lack of feedback.

@deivid-rodriguez deivid-rodriguez closed this as not planned Won't fix, can't repro, duplicate, stale May 6, 2024
@dorianmariecom
Copy link
Author

You are suggesting I slow down the command I run often

@deivid-rodriguez
Copy link
Member

Is it really slower? Even if not parallelized, it may be faster to do something just once sequentially instead of many times in parallel.

Anyways, I wouldn't mind to take a patch to add ProcessLock.lock around Bundler auto-installation if you care enough about this. I guess that's what's going wrong for you? In other words, it's running bundle install in parallel that's crashing and not gem install bundler like you reported, and you reported that just to make it an "easy reproduction"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants