Undefined method `timeout=' for Regexp:Class

Hello

I tried to upgrade using website admin online, but it failed, and I am getting this error:

/var/www/discourse/config/initializers/100-regex-timeout.rb:3:in `<main>': undefined method `timeout=' for Regexp:Class (NoMethodError)

Regexp.timeout = GlobalSetting.regex_timeout_seconds.to_i if GlobalSetting.regex_timeout_seconds.present?
      ^^^^^^^^^^
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:667:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:667:in `block in load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:208:in `instrument'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:666:in `load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:619:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:619:in `block in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:32:in `instance_exec'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:32:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:50:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:50:in `tsort_each_child'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `call'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `call'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:60:in `run_initializers'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:372:in `initialize!'
        from /var/www/discourse/config/environment.rb:7:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:103:in `require'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:103:in `block in load_requires'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:102:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:102:in `load_requires'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:143:in `final_session_setup'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/cli.rb:82:in `parse_options'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/bin/pry:12:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/bin/pry:25:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/bin/pry:25:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:58:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:58:in `kernel_load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:23:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:491:in `exec'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:34:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:28:in `start'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/exe/bundle:45:in `block in <top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/exe/bundle:33:in `<top (required)>'
        from /usr/local/bin/bundle:25:in `load'
        from /usr/local/bin/bundle:25:in `<main>'

I feel like you are running an unsupported install, we only support Ruby 3.2 on latest Discourse code base.

We should certainly improve our messaging here, app should not be giving you cryptic errors.

I have manually updated it after having the forum down for about an hour, this page was so useful

https://meta.discourse.org/t/manually-update-discourse-and-docker-image-to-latest/23325

1 Like

Thanks for raising this @Samir_Sabri - looks like we hadn’t yet updated the minimum required version in docker_manager (the UI which self-hosters use for upgrades). Once this is merged, people will be prompted to run a CLI rebuild before upgrading Discourse:

5 Likes

This topic was automatically closed after 21 hours. New replies are no longer allowed.