升级后引导失败

应用了最新的补丁集后,我遇到了引导失败问题……

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1581 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"=>"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.

日志显示……

I, [2023-09-27T09:27:53.120283 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db: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)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)

我目前正在尝试各种方法让我的论坛恢复运行。

1 个赞

这似乎与 migratepassword 插件有关。我可以禁用所有插件来重建论坛,但如果我尝试仅启用 migratepassword 插件来重建,就会出现引导失败。

1 个赞

我将艾特一下 @RGJ,他可能知道更多。:crossed_fingers:

4 个赞

是的,由于核心中的依赖项已更新,此问题已于昨天发生。PR 已在我的待办事项列表中,将于今天晚些时候或明天提供。

快速修复:
选项 1 签出 Discourse 91c94f,这是破坏性更改之前的提交
选项 2 将 插件 中的 gem 'ffi', '1.15.5', require: false 更改为 gem 'ffi', '1.16.2', require: false

3 个赞

不确定如何执行以上任何一项。我确实尝试将“version: 91c94f”放入 app.yml 中,但这没有帮助,所以我可能做错了。

在 PR 准备好之前,我将不使用该插件运行。我的大多数用户已经从旧密码迁移了,但每周仍有少数一两个“遗留用户”重新出现,他们是几年前的用户。

1 个赞

我该如何操作,或者文件在哪里可以让我更改它?

在这种情况下,我该如何在控制台中执行此操作,我的意思是,要执行的 cmd。

无需两次询问,尤其是我已经说过很快就会有修复程序可用。

新的 discourse-migratepassword 版本现已发布。
只需重建即可。

2 个赞

感谢 Richard 的修复。现在已重新构建,没有错误 :grinning:

1 个赞

我仍然遇到同样的问题,并且我的插件中没有 discourse-migratepassword

您是否安装了 discourse-migratepassword 插件?我尝试重新构建它,但问题仍然存在。

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

正如他所写,他已经安装了。
如果您没有安装,也许您可以继续您开始的帖子,并分享完整的错误消息。

5 个赞

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