Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-11722

concurrent-ruby 1.2.0 breaks puppet

    XMLWordPrintable

Details

    • 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

          Activity

            People

              josh Josh Cooper
              smortex Romain Tartière
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support