Ошибка обновления: "FAILED TO BOOTSTRAP", код ошибки 137

Я обновляюсь регулярно (раз в месяц или около того) и не сталкивался с проблемами, которые мешали бы сборке. Мой сервер в данный момент недоступен.

Считаю, что у меня стандартная установка. Свободного места на диске достаточно. Утилита discourse-doctor не выдала никаких ошибок или подозрительных сообщений. В системе ничего не менялось. Перед попыткой выполнить launcher rebuild app был выполнен git pull. Если для точной диагностики потребуется дополнительная информация, дайте знать. Судя по логу, я не совсем понимаю, в чём проблема. Если кто-то, кто лучше знаком с этим ПО, сможет взглянуть, буду признателен.

Вот список используемых плагинов:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-akismet.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-yearly-review.git
          - git clone https://github.com/discourse/discourse-patreon
          - git clone https://github.com/discourse/discourse-solved
          - git clone https://github.com/discourse/discourse-github
          - git clone https://github.com/discourse/discourse-checklist
          - git clone https://github.com/discourse/discourse-tooltips.git
          - git clone https://github.com/discourse/discourse-docs
          - git clone https://github.com/discourse/discourse-user-notes
          - git clone https://github.com/discourse/discourse-math
          - git clone https://github.com/discourse/discourse-chat-integration
          - git clone https://github.com/discourse/discourse-encrypt.git
          - git clone https://github.com/discourse/discourse-footnote
          - git clone https://github.com/discourse/discourse-follow
          - git clone https://github.com/discourse/discourse-push-notifications

Вот конец моего лога сборки:

I, [2022-10-12T15:47:04.673293 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2022-10-12T15:47:09.943126 #1]  INFO -- : discourse-math is already at latest compatible version
discourse-chat-integration is already at latest compatible version
discourse-spoiler-alert is already at latest compatible version
discourse-encrypt is already at latest compatible version
discourse-tooltips is already at latest compatible version
discourse-follow is already at latest compatible version
docker_manager is already at latest compatible version
discourse-github is already at latest compatible version
discourse-push-notifications is already at latest compatible version
discourse-solved is already at latest compatible version
discourse-akismet is already at latest compatible version
discourse-footnote is already at latest compatible version
discourse-yearly-review is already at latest compatible version
discourse-checklist is already at latest compatible version
discourse-patreon is already at latest compatible version
discourse-docs is already at latest compatible version
discourse-user-notes is already at latest compatible version

I, [2022-10-12T15:47:09.944907 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
I, [2022-10-12T15:47:23.023114 #1]  INFO -- : gem install sawyer -v 0.9.2 -i /var/www/discourse/plugins/discourse-github/gems/2.7.6 --no-document --ignore-dependencies --no-user-install
Successfully installed sawyer-0.9.2
1 gem installed
gem install octokit -v 5.6.1 -i /var/www/discourse/plugins/discourse-github/gems/2.7.6 --no-document --ignore-dependencies --no-user-install
Successfully installed octokit-5.6.1
1 gem installed

I, [2022-10-12T15:47:23.024237 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
103:M 12 Oct 2022 15:47:34.098 * 100 changes in 300 seconds. Saving...
103:M 12 Oct 2022 15:47:34.102 * Background saving started by pid 1695
1695:C 12 Oct 2022 15:47:34.384 * DB saved on disk
1695:C 12 Oct 2022 15:47:34.386 * RDB: 0 MB of memory used by copy-on-write
103:M 12 Oct 2022 15:47:34.407 * Background saving terminated with success
- Building
- Building
- building...
Хотя опция "loose" установлена в значение "false" в конфигурации @babel/preset-env, она не будет использоваться для @babel/plugin-proposal-private-property-in-object, так как для @babel/plugin-proposal-class-properties опция режима "loose" установлена в значение "true".
Опция "loose" должна быть одинаковой для @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods и @babel/plugin-proposal-private-property-in-object (когда они включены): вы можете отключить это предупреждение, явно добавив
        ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
в раздел "plugins" вашей конфигурации Babel.
Хотя опция "loose" установлена в значение "false" в конфигурации @babel/preset-env, она не будет использоваться для @babel/plugin-proposal-private-methods, так как для @babel/plugin-proposal-private-property-in-object опция режима "loose" установлена в значение "true".
Опция "loose" должна быть одинаковой для @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods и @babel/plugin-proposal-private-property-in-object (когда они включены): вы можете отключить это предупреждение, явно добавив
        ["@babel/plugin-proposal-private-methods", { "loose": true }]
в раздел "plugins" вашей конфигурации Babel.
[WARN] (broccoli-terser-sourcemap) Минификация "assets/discourse.js" заняла: 26102 мс (более 20 000 мс)
Killed
error Command failed with exit code 137.
I, [2022-10-12T15:51:18.234000 #1]  INFO -- : Checking 'discourse-homepage-feature-component' for 'default'... up to date
Checking 'Versatile Banner' for 'default'... up to date
Checking 'Custom Header Links' for 'default'... yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I, [2022-10-12T15:51:18.245871 #1]  INFO -- : Terminating async processes
I, [2022-10-12T15:51:18.246532 #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/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2022-10-12T15:51:18.247499 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1665589878) Received SIGTERM scheduling shutdown...
2022-10-12 15:51:18.249 UTC [42] LOG:  received fast shutdown request
103:M 12 Oct 2022 15:51:18.327 # User requested shutdown...
103:M 12 Oct 2022 15:51:18.327 * Saving the final RDB snapshot before exiting.
2022-10-12 15:51:19.052 UTC [42] LOG:  aborting any active transactions
2022-10-12 15:51:19.100 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-10-12 15:51:19.102 UTC [46] LOG:  shutting down
2022-10-12 15:51:19.188 UTC [42] LOG:  database system is shut down
103:M 12 Oct 2022 15:51:20.072 * DB saved on disk
103:M 12 Oct 2022 15:51:20.073 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1601 exit 137>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 137
** 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.
5354ffedbf56742079333cb69face684193aaa0afa7f1ff492666e17a2e1f51d

Я думаю, ошибка 137 означает нехватку памяти. Вы выполнили стандартную установку и разрешили добавить swap-файл, когда система предложила эту опцию?

В этой теме есть довольно информативное обсуждение похожей ошибки, если это похоже на ваш случай:

Я не помню, но это VPS с 2 ГБ оперативной памяти и 2 ГБ подкачки.

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       688Mi        64Mi        33Mi       1.2Gi       1.1Gi
Swap:         2.0Gi       1.0Gi       1.0Gi

Привет! :wave:

Можешь выполнить free -h и поделиться результатом? :slight_smile:

Я отредактировал свой предыдущий пост.

Похоже, это наиболее вероятная причина. Я очистил место на диске, выполнил обновление через apt, а после перезагрузки снова запустил сборку, и на этот раз она успешно завершилась. Хотя были внесены изменения в пакеты, я полагаю, что перезагрузка освободила достаточно оперативной памяти и пространства подкачки для завершения сборки. Примечательно, что мне пришлось прекратить обновление через интерфейс из-за нехватки памяти (я делаю это исключительно через командную строку), но у меня никогда не возникало сбоев сборки при работе из командной строки. Я попробую увеличить пространство подкачки ещё на 1 ГБ, чтобы предотвратить это в будущем, и посмотрю, получится ли у меня снова обновляться через интерфейс.

Всего одно обновление. Мне пришлось ждать, пока после обновления появится новое обновление для тестирования. Ранее обновление через интерфейс было невозможным, так как оно также прерывалось на середине процесса из-за нехватки оперативной памяти. Мне удалось успешно выполнить обновление через интерфейс после устранения проблемы сборки в командной строке путем увеличения размера файла подкачки. Спасибо за помощь.