Bootstrap failed error after upgrading my server

AI-generated summary

Users shim and packman report bootstrap failures after upgrading their Discourse servers, with errors tied to bundle installation and plugin conflicts. packman initially suspects plugin issues but later shares a stack trace pointing to a gem conflict (ffi-1.15.5 vs 1.16.2) triggered by the discourse-migratepassword plugin. pfaffman confirms this plugin is broken and advises disabling it or reverting to an old container. shim clarifies their issue is unrelated to plugins, showing logs where services shut down cleanly but bootstrap fails at the final bundle step. merefield and merefield repeatedly urge users to scroll up for earlier, more revealing error messages — noting that the visible “FAILED” block is generic and not the root cause. RGJ later announces the discourse-migratepassword plugin has been updated. The thread highlights the importance of checking full logs and distinguishing between plugin-specific and core system issues during rebuilds.

im having issues rebuilding my forum after upgrading the server on linode

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle config --local deployment true' failed with return #<Process::Status: pid 505 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle config --local without \"development test\"'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
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.

:arrow_double_up: :eyes:

we would need more information.

I’m seeing a similar error. I’ve tried a rebuild with all but two plugins disabled (docker-manager and migrate passwords) so I don’t think it’s plugin related. I ran discourse-doctor but the only occurrence of ‘error’ is the description of how to search for the word error.

Unfortunately I have to go out to an appointment now but I’ll look for other issues when I get back.

Does this give any clues…

SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
rake aborted!
Gem::LoadError: can't activate ffi-1.15.5, already activated ffi-1.16.2
/var/www/discourse/lib/plugin_gem.rb:25:in `load'
/var/www/discourse/lib/plugin/instance.rb:825:in `gem'
/var/www/discourse/plugins/discourse-migratepassword/plugin.rb:28:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:722:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:722:in `activate!'
/var/www/discourse/lib/discourse.rb:347:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:344:in `each'
/var/www/discourse/lib/discourse.rb:344:in `activate_plugins!'
/var/www/discourse/config/application.rb:227:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:227:in `<class:Application>'
/var/www/discourse/config/application.rb:75:in `<module:Discourse>'
/var/www/discourse/config/application.rb:74:in `<top (required)>'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/bundle:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:209:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:108:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.7/lib/rails/commands.rb:18:in `<main>'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
Spinning up 7 Unicorn worker(s) that were stopped initially

Chris with all respect, can we not complicate one support request with logs from another installation? :sweat_smile:

Because that text appears pretty much under every single rebuild that has failed due to an error during the process, regardless of the root cause.

OK, I wasn’t aware that the same error appeared for multiple causes. I just knew the errors looked very similar, if not identical when viewed on my phone and as they occurred from what appeared to be the same set of patches I assumed they might be related. I’ll start a new thread with my problems in it.

It may be related, but we won’t know until the OP has provided more detail.

Actually the helpful nature of Discourse isn’t helpful here. When I started to report the problem I got the “Your post looks similat to this one” which encourages you not to create a new post.

Migrate password is broken. It’ll be fixed soon. Rebuild without it or restart your old container.

There is another topic about it but I can’t find it.

Oh, I see now, it was your topic Failed to Bootstrap after upgrade - #4 by RGJ

Here’s what to do @shim

Thank you I have the same issue on 2 forums and that happened after the patch update however the fix was suggested … I have no idea how to go about it. it would be helpful if they pushed the new PR so that we can update it via the console.

Here’s what he said in the other topic.

That’s pretty good service if you ask me.

The new version of discourse-migratepassword is available now.

My Issue is unrelated to the plugin

es:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
2023-09-27 16:50:33.227 UTC [42] LOG:  received fast shutdown request
I, [2023-09-27T16:50:33.227763 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
111:signal-handler (1695833433) Received SIGTERM scheduling shutdown...
2023-09-27 16:50:33.252 UTC [42] LOG:  aborting any active transactions
2023-09-27 16:50:33.262 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2023-09-27 16:50:33.265 UTC [46] LOG:  shutting down
2023-09-27 16:50:33.282 UTC [42] LOG:  database system is shut down
111:M 27 Sep 2023 16:50:33.282 # User requested shutdown...
111:M 27 Sep 2023 16:50:33.283 * Saving the final RDB snapshot before exiting.
111:M 27 Sep 2023 16:50:33.295 * DB saved on disk
111:M 27 Sep 2023 16:50:33.296 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle config --local deployment true' failed with return #<Process::Status: pid 539 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle config --local without \"development test\"'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
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.
92863be4bda311c642a83b1afd97e58a64e9044ea2dc0e23f245fafb086851f7

it appears that everything builds fine but on the last exit part it fails

John, you need to get that scroll wheel working for you a bit more :wink:

You need to look for something awry above what you shared :slight_smile:

Nothing there tells us anything, except that something is up :male_detective: