Skip to content

Failure to jar-deps due to ENOENT in ruby-maven-libs #8642

@headius

Description

@headius

This was seen while attempting to run StringIO tests on JRuby on MacOS (ruby/stringio#116). Linux and Windows CI runs had no similar issues.

This appears to be mostly in Bundler and RubyGems, eventually trying to chmod a file that apparently can't be found in the vendored ruby-maven-libs library. This may be a flaw in the way that gem is structured, or a side effect of some jar-dependencies issue, or a concurrency bug hit by parallel Bundler jobs.

I do D2D work on MacOS and have never seen this issue, and also could not reproduce it by duplicating the steps in stringio's CI on my local machine.

The failing jobs, while they are still accessible, can be found here:

The relevant part of the Bundler dump is here: https://github.com/ruby/stringio/actions/runs/13416611426?pr=116

> bundle install
/Users/runner/.rubies/jruby-head/bin/bundle config --local path /Users/runner/work/stringio/stringio/vendor/bundle
/Users/runner/.rubies/jruby-head/bin/bundle lock
Writing lockfile to /Users/runner/work/stringio/stringio/Gemfile.lock
Fetching gem metadata from https://rubygems.org/.......
Resolving dependencies...
Cache key: setup-ruby-bundler-cache-v6-macos-14-arm64-jruby-head-wd-/Users/runner/work/stringio/stringio-with--without--only--Gemfile.lock-d799347c610add7980f5a75383dd88fab12bc30e8eb15d4afc32c9df58552f16
Warning: Cache not found for keys: setup-ruby-bundler-cache-v6-macos-14-arm64-jruby-head-wd-/Users/runner/work/stringio/stringio-with--without--only--Gemfile.lock-d799347c610add7980f5a75383dd88fab12bc30e8eb15d4afc32c9df58552f16, setup-ruby-bundler-cache-v6-macos-14-arm64-jruby-head-wd-/Users/runner/work/stringio/stringio-with--without--only--Gemfile.lock-
/Users/runner/.rubies/jruby-head/bin/bundle install --jobs 4
Fetching gem metadata from https://rubygems.org/.......
Fetching rake 13.2.1
Installing rake 13.2.1
Fetching date 3.4.1 (java)
Fetching jar-dependencies 0.5.5
Fetching rake-compiler 1.2.9
Fetching power_assert 2.0.5
Installing date 3.4.1 (java)
Installing power_assert 2.0.5
Installing rake-compiler 1.2.9
Installing jar-dependencies 0.5.5
Fetching ruby-maven-libs 3.9.9
Fetching test-unit 3.6.7
Fetching psych 5.2.3 (java)
Installing test-unit 3.6.7
Installing psych 5.2.3 (java)
Fetching test-unit-ruby-core 1.0.6
  jar dependencies for psych-5.2.3-java.gemspec . . .
Installing gem 'ruby-maven' . . .
Installing test-unit-ruby-core 1.0.6
Installing ruby-maven-libs 3.9.9
Installing gem 'ruby-maven-libs' . . .

using maven for the first time results in maven
downloading all its default plugin and can take time.
as those plugins get cached on disk and further execution
of maven is much faster then the first time.

      org.snakeyaml:snakeyaml-engine:2.9:compile
--- ERROR REPORT TEMPLATE -------------------------------------------------------

Errno::ENOENT: No such file or directory - /Users/runner/work/stringio/stringio/vendor/bundle/jruby/3.1.0/gems/ruby-maven-libs-3.9.9/maven-home/lib/httpcore-4.4.16.jar
  org/jruby/RubyFile.java:651:in `chmod'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/fileutils.rb:1326:in `chmod'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/fileutils.rb:1002:in `block in chmod'
          org/jruby/RubyArray.java:2009:in `each'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/fileutils.rb:1001:in `chmod'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:455:in `block in extract_tar_gz'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package/tar_reader.rb:65:in `each'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:423:in `block in extract_tar_gz'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:547:in `block in open_tar_gz'
          org/jruby/ext/zlib/RubyGzipFile.java:96:in `wrap'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:544:in `open_tar_gz'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:422:in `extract_tar_gz'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:396:in `block in extract_files'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package/tar_reader.rb:65:in `each'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:393:in `block in extract_files'
          org/jruby/RubyIO.java:1198:in `open'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package/file_source.rb:30:in `with_read_io'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/package.rb:390:in `extract_files'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/rubygems/installer.rb:853:in `extract_files'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/rubygems_gem_installer.rb:27:in `block in install'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/shared_helpers.rb:105:in `filesystem_access'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/rubygems_gem_installer.rb:26:in `install'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/source/rubygems.rb:205:in `install'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/installer/gem_installer.rb:55:in `install'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/installer/gem_installer.rb:17:in `install_from_spec'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/installer/parallel_installer.rb:133:in `do_install'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/installer/parallel_installer.rb:124:in `block in worker_pool'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/worker.rb:62:in `apply_func'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/worker.rb:57:in `block in process_queue'
          org/jruby/RubyKernel.java:17[25](https://github.com/ruby/stringio/actions/runs/13416611426/job/37478887997?pr=116#step:4:31):in `loop'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/worker.rb:54:in `process_queue'
          /Users/runner/.rubies/jruby-head/lib/ruby/stdlib/bundler/worker.rb:90:in `block in create_threads'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions