Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
-
Phoenix
-
1
-
Phoenix 2023-02-01
-
Needs Assessment
-
Bug Fix
-
Updates puppet to require versions of concurrent-ruby gem prior to 1.2.
-
Needs Assessment
Description
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 git@github.com:puppetlabs/puppet.git
romain@zappy ~/Projects/puppetlabs % cd puppet
romain@zappy ~/Projects/puppetlabs/puppet % bundle install
romain@zappy ~/Projects/puppetlabs/puppet % bundle show concurrent-ruby
/usr/home/romain/.vendor/ruby/3.0/gems/concurrent-ruby-1.2.0
romain@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'
Attachments
Issue Links
- relates to
-
PUP-11723 Revisit Concurrent::RubyThreadLocalVar
-
- Accepted
-