Crash after last update

Hello everyone,

I just tried to perform the update to what I believe is beta 9 via the web interface. Unfortunately, this resulted in an error, so I executed rebuild app.

Unfortunately, this also leads to an error, and I’m completely unclear about what I can do now. The entire process repeatedly ends with:

Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)
I, [2025-08-20T08:47:30.655625 #1]  INFO -- : 
I, [2025-08-20T08:47:30.655914 #1]  INFO -- : Terminating async processes
I, [2025-08-20T08:47:30.655932 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 47
I, [2025-08-20T08:47:30.655954 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 114
2025-08-20 08:47:30.656 UTC [47] LOG:  received fast shutdown request
114:signal-handler (1755679650) Received SIGTERM scheduling shutdown...
114:M 20 Aug 2025 08:47:30.659 # User requested shutdown...
114:M 20 Aug 2025 08:47:30.659 * Saving the final RDB snapshot before exiting.
2025-08-20 08:47:30.667 UTC [47] LOG:  aborting any active transactions
2025-08-20 08:47:30.671 UTC [47] LOG:  background worker "logical replication launcher" (PID 61) exited with exit code 1
2025-08-20 08:47:30.671 UTC [56] LOG:  shutting down
2025-08-20 08:47:30.672 UTC [56] LOG:  checkpoint starting: shutdown immediate
2025-08-20 08:47:30.691 UTC [56] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.014 s, sync=0.002 s, total=0.020 s; sync files=3, longest=0.001 s, average=0.001 s; distance=5 kB, estimate=5 kB
114:M 20 Aug 2025 08:47:30.728 * DB saved on disk
114:M 20 Aug 2025 08:47:30.728 # Redis is now ready to exit, bye bye...
2025-08-20 08:47:30.731 UTC [47] LOG:  database system is shut down

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 809 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
0155b0ee2e7b8a2a7481eed0f002871675973ab2295296f71b2c366b875f12cf

Is this enough for diagnosis, or do you need more?

Help!

I just saw this in the MAIL TEST section when I ran discourse-doctor:

Plugin name is 'discourse-topic-voting', but plugin directory is named 'discourse-feature-voting'
/var/www/discourse/plugins/discourse-topic-voting/plugin.rb:22: warning: already initialized constant DiscourseTopicVoting::PLUGIN_NAME
/var/www/discourse/plugins/discourse-feature-voting/plugin.rb:22: warning: previous definition of PLUGIN_NAME was here
rake aborted!
ArgumentError: Invalid route name, already in use: 'category_none_votes'  (ArgumentError)
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here: 
https://guides.rubyonrails.org/routing.html#restricting-the-routes-created

          raise ArgumentError, "Invalid route name, already in use: '#{name}' \n" \
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:649:in `add_route'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:2062:in `add_route'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:2033:in `decomposed_match'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:1997:in `block in map_match'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:1991:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:1991:in `map_match'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:1719:in `match'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:768:in `map_method'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:711:in `get'
/var/www/discourse/config/routes.rb:1346:in `block (4 levels) in <main>'
/var/www/discourse/config/routes.rb:1345:in `each'
/var/www/discourse/config/routes.rb:1345:in `block (3 levels) in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:903:in `scope'
/var/www/discourse/config/routes.rb:1337:in `block (2 levels) in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:903:in `scope'
/var/www/discourse/config/routes.rb:14:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:479:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:479:in `eval_block'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:461:in `draw'
/var/www/discourse/config/routes.rb:10:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:64:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:64:in `block in load_paths'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:64:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:64:in `load_paths'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:25:in `reload!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:52:in `block in updater'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/file_update_checker.rb:85:in `execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:34:in `execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/routes_reloader.rb:39:in `execute_unless_loaded'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application/finisher.rb:179:in `block in <module:Finisher>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application.rb:440:in `initialize!'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.7.3/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application.rb:416:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/application.rb:567:in `block in run_tasks_blocks'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => emails:test => environment
(See full trace by running task with --trace)

I previously had the following plugins active:

      - git clone https://github.com/discourse/docker_manager.git
      - git clone https://github.com/discourse/discourse-solved.git
      - git clone https://github.com/discourse/discourse-github.git
      - git clone https://github.com/discourse/discourse-data-explorer.git
      - git clone https://github.com/discourse/discourse-feature-voting.git
      - git clone https://github.com/discourse/discourse-affiliate.git
      - git clone https://github.com/discourse/discourse-akismet.git

After seeing the message during rebuild app that some of them are now part of Discourse, I shortened it to:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-feature-voting.git
          - git clone https://github.com/discourse/discourse-akismet.git
1 Like

discourse-feature-voting is the (very) old name of the topic-voting plugin which is now bundled with Discourse core. If you remove the feature-voting line from your app.yml and then rebuild, things should work better :crossed_fingers:

2 Likes

Thanks a lot for your quick answer.

Worked!

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.