| Puppet Version: 7.x Puppet Server Version: N/A OS Name/Version: N/A concurrent-ruby 1.2.0 was just released and breaks running Puppet using gem/bundler. It looks like puppet use a private class of this gem that got removed in: https://github.com/ruby-concurrency/concurrent-ruby/commit/30465396414e13290c3e1d8d26a0f2de2ebedc4c Desired Behavior: Puppet should work with concurrent-ruby 1.2.0 Actual Behavior: romain@zappy ~/Projects/puppetlabs % git clone g...@github.com:puppetlabs/puppet.gitromain@zappy ~/Projects/puppetlabs % cd puppetromain@zappy ~/Projects/puppetlabs/puppet % bundle installromain@zappy ~/Projects/puppetlabs/puppet % bundle show concurrent-ruby/usr/home/romain/.vendor/ruby/3.0/gems/concurrent-ruby-1.2.0romain@zappy ~/Projects/puppetlabs/puppet % bundle exec bin/puppet bundler: failed to load command: bin/puppet (bin/puppet) /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/thread_local.rb:6:in `<top (required)>': uninitialized constant Concurrent::RubyThreadLocalVar (NameError) Did you mean? Concurrent::RubyThreadPoolExecutor from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/context.rb:1:in `require_relative' from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/context.rb:1:in `<top (required)>' from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet.rb:45:in `require_relative' from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet.rb:45:in `<module:Puppet>' from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet.rb:42:in `<top (required)>' from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/util/command_line.rb:12:in `require_relative' from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/util/command_line.rb:12:in `<top (required)>' from bin/puppet:4:in `require' from bin/puppet:4:in `<top (required)>' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli/exec.rb:58:in `load' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli/exec.rb:58:in `kernel_load' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli/exec.rb:23:in `run' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli.rb:483:in `exec' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli.rb:31:in `dispatch' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli.rb:25:in `start' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/exe/bundle:48:in `block in <top (required)>' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors' from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/exe/bundle:36:in `<top (required)>' from /usr/local/bin/bundle:25:in `load' from /usr/local/bin/bundle:25:in `<main>' {{}} Workaround: Add this line to the Gemfile to use the previous version of concurrent-ruby : gem 'concurrent-ruby', '< 1.2.0' |