После применения последнего набора патчей у меня возникает ошибка при загрузке…
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 ** пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках, их может быть больше одной.
./discourse-doctor может помочь диагностировать проблему.
В логах показано…
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)
В настоящее время я пробую различные способы, чтобы вернуть свой форум к жизни.
Похоже, это связано с плагином migratepassword. Я могу пересобрать форум со всеми отключенными плагинами, но при попытке пересобрать его с включенным только плагином migratepassword возникает ошибка инициализации (bootstrap failure).
Да, это сломалось вчера из-за обновления зависимости в ядре. PR уже в моём списке задач и будет доступен сегодня вечером или завтра.
Быстрые исправления:
Вариант 1: откатитесь на версию Discourse 91c94f — это коммит перед введением ломающего изменения.
Вариант 2: измените gem 'ffi', '1.15.5', require: false в плагине на gem 'ffi', '1.16.2', require: false.
Не уверен, как выполнить ни один из этих вариантов. Я пробовал добавить “version: 91c94f” в файл app.yml, но это не помогло, так что, вероятно, я сделал что-то не так.
Пока я буду работать без плагина, пока не будет готов PR. Подавляющее большинство моих пользователей уже перешли со своих старых паролей, но каждую неделю появляются один-два «пользователя из прошлого», которые возвращаются из нескольких лет назад.
У вас в плагинах есть 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: получен запрос быстрого завершения работы
I, [2023-09-27T16:50:33.227763 #1] INFO -- : Отправка сигнала TERM процессу exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
111:signal-handler (1695833433) Получен сигнал SIGTERM, планирование завершения работы...
2023-09-27 16:50:33.252 UTC [42] LOG: прерывание всех активных транзакций
2023-09-27 16:50:33.262 UTC [42] LOG: фоновый рабочий "запускатель логической репликации" (PID 51) завершился с кодом выхода 1
2023-09-27 16:50:33.265 UTC [46] LOG: завершение работы
2023-09-27 16:50:33.282 UTC [42] LOG: система баз данных завершена
111:M 27 Sep 2023 16:50:33.282 # Пользователь запросил завершение работы...
111:M 27 Sep 2023 16:50:33.283 * Сохранение финального снимка RDB перед выходом.
111:M 27 Sep 2023 16:50:33.295 * База данных сохранена на диск
111:M 27 Sep 2023 16:50:33.296 # Redis готов к выходу, до свидания...
ОШИБКА
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle config --local deployment true' завершилась с ошибкой, возвращён код #<Process::Status: pid 539 exit 1>
Место ошибки: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
Выполнение не удалось с параметрами {"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'"]}
Загрузка завершилась с кодом выхода 1
** ЗАГРУЗКА НЕ УДАЛАСЬ ** Пожалуйста, прокрутите вверх и найдите сообщения об ошибках, возникших ранее; их может быть несколько.
Утилита ./discourse-doctor может помочь в диагностике проблемы.
92863be4bda311c642a83b1afd97e58a64e9044ea2dc0e23f245fafb086851f7
Как он и написал, у него он есть.
Если у вас его нет, возможно, стоит продолжить обсуждение в начатой вами теме и предоставить полное сообщение об ошибке.