Skip to content

Conversation

@yahonda
Copy link
Member

@yahonda yahonda commented Dec 8, 2025

This pull request addresses rails/rails#56325

Bundler has been included as a default gem since Ruby 2.6.

Rails 7.0, which is our oldest version in Rails CI, requires Ruby 2.7 or higher. This means all Ruby versions we test against already have Bundler pre-installed.

When gem install bundler is run on our Rails Nightly CI, it creates a duplicate installation of bundler:

  • As default gem: /usr/local/lib/ruby/4.0.0+0/bundler/
  • gem install bundler: /usr/local/lib/ruby/gems/4.0.0+0/gems/bundler-4.0.0/

This duplication causes constant redefinition warnings such as:

warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION

gem update --system takes care of upgrading not only gem command but also bundler command so we can use the latest available bundler command after removing the gem install bundler.

$ ruby -v
ruby 3.2.9 (2025-07-24 revision 8f611e0c46) [x86_64-linux]
$ gem -v
3.4.19
$ bundler -v
Bundler version 2.4.19
$ gem update --system
Updating rubygems-update
Fetching rubygems-update-4.0.0.gem
Successfully installed rubygems-update-4.0.0
Parsing documentation for rubygems-update-4.0.0
Installing ri documentation for rubygems-update-4.0.0
Done installing documentation for rubygems-update after 0 seconds
Parsing documentation for rubygems-update-4.0.0
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 4.0.0
  Successfully built RubyGem
  Name: bundler
  Version: 4.0.0
  File: bundler-4.0.0.gem
Bundler 4.0.0 installed
RubyGems 4.0.0 installed
Regenerating binstubs
Regenerating plugins
Parsing documentation for rubygems-4.0.0
Installing ri documentation for rubygems-4.0.0

... snip ...

RubyGems system software updated
$ ruby -v
ruby 3.2.9 (2025-07-24 revision 8f611e0c46) [x86_64-linux]
$ gem -v
4.0.0
$ bundler -v
4.0.0
$

References:

Bundler has been included as a default gem since Ruby 2.6.

Rails 7.0, which is our oldest version in Rails CI, requires Ruby 2.7 or higher.
This means all Ruby versions we test against already have Bundler pre-installed.

When `gem install bundler` is run on our Rails Nightly CI, it creates a duplicate installation of bundler:

  - As default gem:         /usr/local/lib/ruby/4.0.0+0/bundler/
  - `gem install bundler`:  /usr/local/lib/ruby/gems/4.0.0+0/gems/bundler-4.0.0/

This duplication causes constant redefinition warnings such as:
```
warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION
```

`gem update --system` takes care of upgrading not only `gem` command but also `bundler` command
so we can use the latest available bundler command after removing the `gem install bundler`.

```
$ ruby -v
ruby 3.2.9 (2025-07-24 revision 8f611e0c46) [x86_64-linux]
$ gem -v
3.4.19
$ bundler -v
Bundler version 2.4.19
$ gem update --system
Updating rubygems-update
Fetching rubygems-update-4.0.0.gem
Successfully installed rubygems-update-4.0.0
Parsing documentation for rubygems-update-4.0.0
Installing ri documentation for rubygems-update-4.0.0
Done installing documentation for rubygems-update after 0 seconds
Parsing documentation for rubygems-update-4.0.0
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 4.0.0
  Successfully built RubyGem
  Name: bundler
  Version: 4.0.0
  File: bundler-4.0.0.gem
Bundler 4.0.0 installed
RubyGems 4.0.0 installed
Regenerating binstubs
Regenerating plugins
Parsing documentation for rubygems-4.0.0
Installing ri documentation for rubygems-4.0.0

... snip ...

RubyGems system software updated
$ ruby -v
ruby 3.2.9 (2025-07-24 revision 8f611e0c46) [x86_64-linux]
$ gem -v
4.0.0
$ bundler -v
4.0.0
$
```

References:
  - Ruby 2.6.0 Released: https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/
    "Bundler is now installed as a default gem."
  - Rails 7.0 requires Ruby 2.7+: https://github.com/rails/rails/blob/7-0-stable/rails.gemspec#L12

  - Rails CI against 6-1-stable branch https://buildkite.com/rails/rails/builds?branch=6-1-stable
    no longer runs since Oct 27 2025: https://buildkite.com/rails/rails/builds/123203/steps/canvas

Fixes rails/rails#56325
@yahonda
Copy link
Member Author

yahonda commented Dec 8, 2025

Somehow, the same warning appears when testing with Ruby 3.4

https://buildkite.com/rails/rails-ci/builds/335#019afd2c-1e12-4a18-93d4-9abe3de45e82/1565-1578

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

Reproduced these failures with Ruby 3.4 locally.

  • Use RubyGems 3.6.9 and Bundler 2.6.9
$ ruby -v
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
$ gem -v
3.6.9
$ bundler -v
Bundler version 2.6.9
$ rm ../Gemfile.lock ; bundle install ; bundle exec ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/generators/scaffold_generator_test.rb --seed 46859
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Bundle complete! 82 Gemfile dependencies, 235 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
1 installed gem you directly depend on is looking for funding.
  Run `bundle fund` for details
Run options: --seed 46859

# Running:

............................

Finished in 31.094991s, 0.9005 runs/s, 16.4335 assertions/s.
28 runs, 511 assertions, 0 failures, 0 errors, 0 skips
  • RUN gem update --system to bump RubyGems and Bundler to 4.0.0, Not installing gem install bundler
$ gem update --system
Fetching rubygems-update-4.0.0.gem
Successfully installed rubygems-update-4.0.0
Parsing documentation for rubygems-update-4.0.0
Installing ri documentation for rubygems-update-4.0.0
Done installing documentation for rubygems-update after 0 seconds
Parsing documentation for rubygems-update-4.0.0
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 4.0.0
  Successfully built RubyGem
  Name: bundler
  Version: 4.0.0
  File: bundler-4.0.0.gem
Bundler 4.0.0 installed
RubyGems 4.0.0 installed
Regenerating binstubs
Regenerating plugins
Parsing documentation for rubygems-4.0.0
Installing ri documentation for rubygems-4.0.0

... snip ...
RubyGems system software updated
$ ruby -v
  • Use RubyGems and Bundler 4.0.0, these tests fail
$ ruby -v
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
$ gem -v
4.0.0
$ bundler -v
4.0.0
$ cd railties
$ rm ../Gemfile.lock ; bundle install ; bundle exec ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/generators/scaffold_generator_test.rb --seed 46859
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Bundle complete! 82 Gemfile dependencies, 235 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
1 installed gem you directly depend on is looking for funding.
  Run `bundle fund` for details
Run options: --seed 46859

# Running:

......F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_api_mountable_engine [test/generators/scaffold_generator_test.rb:622]:
Expected /6 runs, 10 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:614

.F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_full_engine [test/generators/scaffold_generator_test.rb:610]:
Expected /8 runs, 12 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:602

.F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_namespaced_mountable_engine [test/generators/scaffold_generator_test.rb:598]:
Expected /8 runs, 12 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits-admin/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:584

.....F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_api_full_engine [test/generators/scaffold_generator_test.rb:634]:
Expected /6 runs, 10 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:626

....F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_mountable_engine [test/generators/scaffold_generator_test.rb:580]:
Expected /8 runs, 12 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:572

......

Finished in 24.497815s, 1.1430 runs/s, 20.8590 assertions/s.
28 runs, 511 assertions, 5 failures, 0 errors, 0 skips
$
  • Installing Bundler 4 sepaterely by running gem install bundler, these tests pass
$ ruby -v
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
$ gem -v
4.0.0
$ bundler -v
4.0.0
$ gem install bundler
Successfully installed bundler-4.0.0
Parsing documentation for bundler-4.0.0
Installing ri documentation for bundler-4.0.0
Done installing documentation for bundler after 0 seconds
1 gem installed
$ ruby -v
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
$ gem -v
4.0.0
$ bundler -v
4.0.0
$ rm ../Gemfile.lock ; bundle install ; bundle exec ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/generators/scaffold_generator_test.rb --seed 46859
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Bundle complete! 82 Gemfile dependencies, 235 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
1 installed gem you directly depend on is looking for funding.
  Run `bundle fund` for details
Run options: --seed 46859

# Running:

............................

Finished in 31.506383s, 0.8887 runs/s, 16.2189 assertions/s.
28 runs, 511 assertions, 0 failures, 0 errors, 0 skips
$

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

This one is minimum.

$ bundle exec ruby -w -Itest test/generators/scaffold_generator_test.rb -n test_scaffold_tests_pass_by_default_inside_mountable_engine
Run options: -n test_scaffold_tests_pass_by_default_inside_mountable_engine --seed 41468

# Running:

F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_mountable_engine [test/generators/scaffold_generator_test.rb:580]:
Expected /8 runs, 12 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:572



Finished in 3.414412s, 0.2929 runs/s, 0.5858 assertions/s.
1 runs, 2 assertions, 1 failures, 0 errors, 0 skips
$

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

Removing the quietly block to show entire stack trace.

$ git diff test/generators/scaffold_generator_test.rb 
diff --git a/railties/test/generators/scaffold_generator_test.rb b/railties/test/generators/scaffold_generator_test.rb
index 73643c7e26..82e5863ca4 100644
--- a/railties/test/generators/scaffold_generator_test.rb
+++ b/railties/test/generators/scaffold_generator_test.rb
@@ -573,10 +573,8 @@ def test_scaffold_tests_pass_by_default_inside_mountable_engine
     engine_path = File.join(destination_root, "bukkits")
 
     with_new_plugin(engine_path, "--mountable") do
-      quietly do
         `bin/rails g scaffold User name:string age:integer;
         bin/rails db:migrate`
-      end
       assert_match(/8 runs, 12 assertions, 0 failures, 0 errors/, `bin/rails test 2>&1`)
     end
   end
$ bundle exec ruby -w -Itest test/generators/scaffold_generator_test.rb -n test_scaffold_tests_pass_by_default_inside_mountable_engine
Run options: -n test_scaffold_tests_pass_by_default_inside_mountable_engine --seed 48360

# Running:

/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS
/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here
bin/rails aborted!
ArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)
/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:150:in 'Rails::Command.invoke_rake'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:67:in 'block in Rails::Command.invoke'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'
/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'
bin/rails:14:in '<main>'
(See full trace by running task with --trace)
F

Failure:
ScaffoldGeneratorTest#test_scaffold_tests_pass_by_default_inside_mountable_engine [test/generators/scaffold_generator_test.rb:578]:
Expected /8 runs, 12 assertions, 0 failures, 0 errors/ to match "/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/rubygems_ext.rb:177: warning: already initialized constant Gem::VALIDATES_FOR_RESOLUTION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/rubygems_ext.rb:177: warning: previous definition of VALIDATES_FOR_RESOLUTION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: already initialized constant Bundler::FileUtils::VERSION\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:184: warning: previous definition of VERSION was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2152: warning: previous definition of S_IF_DOOR was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2448: warning: previous definition of DIRECTORY_TERM was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: already initialized constant Bundler::FileUtils::OPT_TABLE\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2564: warning: previous definition of OPT_TABLE was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: already initialized constant Bundler::FileUtils::LOW_METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2622: warning: previous definition of LOW_METHODS was here\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/gems/3.4.0/gems/bundler-4.0.0/lib/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: already initialized constant Bundler::FileUtils::METHODS\n/home/yahonda/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb:2629: warning: previous definition of METHODS was here\nbin/rails aborted!\nArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered (ArgumentError)\n/home/yahonda/src/github.com/rails/rails/railties/test/fixtures/tmp/bukkits/Rakefile:6:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:48:in 'block in Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:46:in 'Rails::Command::RakeCommand.with_rake'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in 'Rails::Command::RakeCommand.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:73:in 'Rails::Command::TestCommand#run_prepare_task'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands/test/test_command.rb:32:in 'Rails::Command::TestCommand#perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:143:in 'Rails::Command.with_argv'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/command.rb:63:in 'Rails::Command.invoke'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/commands.rb:18:in '<top (required)>'\n/home/yahonda/src/github.com/rails/rails/railties/lib/rails/engine/commands.rb:9:in '<top (required)>'\nbin/rails:14:in '<main>'\n(See full trace by running task with --trace)\n".


bin/test test/generators/scaffold_generator_test.rb:572



Finished in 3.646300s, 0.2743 runs/s, 0.5485 assertions/s.
1 runs, 2 assertions, 1 failures, 0 errors, 0 skips
$

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

Opened ruby/rubygems#9172

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

This issue will be resolved when RubyGems and Bundler 4.0.1 is released including ruby/rubygems#9167

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

Let me revisit this pull request later.

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

RubyGems 4.0.1 has been released https://github.com/ruby/rubygems/releases/tag/v4.0.1 . Rebuilding the CI job https://buildkite.com/rails/buildkite-config/builds/488

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

These CIs are green.

While CI for 6-1-stable branches are red, that should not be relevant to this pull request.

https://buildkite.com/rails/rails-ci/builds/338
https://buildkite.com/rails/buildkite-config/builds/488

I think we should bump the branch to some newer stable branch since Rails 6.1 is already EOL, I do not know how to do yet.

@yahonda
Copy link
Member Author

yahonda commented Dec 9, 2025

I think we should bump the branch to some newer stable branch since Rails 6.1 is already EOL, I do not know how to do yet.

Opened #154

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants