Fallo al actualizar la instancia de discourse al 15 de febrero de 2022

La actualización desde Commits · discourse/discourse · GitHub hasta la última versión ha provocado que el sitio se caiga; aquí hay segmentos notables de los registros:

I, [2022-02-15T05:27:48.995821 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 en /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-15T05:27:48.997476 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*::1\/128.*$) por host all all ::/0 md5 en /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-15T05:27:48.998553 #1]  INFO -- : > 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
I, [2022-02-15T05:27:49.003918 #1]  INFO -- : > sleep 5
2022-02-15 05:27:49.151 UTC [41] LOG:  iniciando PostgreSQL 13.5 (Debian 13.5-1.pgdg110+1) en x86_64-pc-linux-gnu, compilado por gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2022-02-15 05:27:49.152 UTC [41] LOG:  escuchando en la dirección IPv4 "0.0.0.0", puerto 5432
2022-02-15 05:27:49.152 UTC [41] LOG:  escuchando en la dirección IPv6 "::", puerto 5432
2022-02-15 05:27:49.162 UTC [41] LOG:  escuchando en el socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2022-02-15 05:27:49.184 UTC [44] LOG:  el sistema de bases de datos se apagó el 2022-02-15 00:12:32 UTC
2022-02-15 05:27:49.209 UTC [41] LOG:  el sistema de bases de datos está listo para aceptar conexiones
I, [2022-02-15T05:27:54.013563 #1]  INFO -- : 
I, [2022-02-15T05:27:54.015179 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2022-02-15 05:27:54.259 UTC [54] postgres@postgres ERROR:  la base de datos "discourse" ya existe
2022-02-15 05:27:54.259 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: la creación de la base de datos falló: ERROR:  la base de datos "discourse" ya existe
I, [2022-02-15T05:27:54.270626 #1]  INFO -- : 
I, [2022-02-15T05:27:54.272627 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2022-02-15 05:27:54.425 UTC [58] postgres@discourse ERROR:  el rol "discourse" ya existe
2022-02-15 05:27:54.425 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  el rol "discourse" ya existe
I, [2022-02-15T05:27:54.431376 #1]  INFO -- : 
I, [2022-02-15T05:27:54.431915 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2022-02-15T05:27:54.533010 #1]  INFO -- : GRANT
I, [2022-02-15T05:27:55.303411 #1]  INFO -- : > echo redis instalado
I, [2022-02-15T05:27:55.310858 #1]  INFO -- : redis instalado

I, [2022-02-15T05:27:55.312551 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2022-02-15T05:27:55.323276 #1]  INFO -- : logfile ""

I, [2022-02-15T05:27:55.324362 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2022-02-15T05:27:55.329352 #1]  INFO -- : > sleep 10
102:C 15 Feb 2022 05:27:55.343 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
102:C 15 Feb 2022 05:27:55.343 # Versión de Redis=6.2.6, bits=64, commit=00000000, modificado=0, pid=102, recién iniciado
102:C 15 Feb 2022 05:27:55.343 # Configuración cargada
102:M 15 Feb 2022 05:27:55.346 * reloj monótono: POSIX clock_gettime
102:M 15 Feb 2022 05:27:55.349 * Modo de ejecución=standalone, puerto=6379.
102:M 15 Feb 2022 05:27:55.350 # ADVERTENCIA: La configuración de TCP backlog de 511 no se puede aplicar porque /proc/sys/net/core/somaxconn está establecido en el valor más bajo de 128.
102:M 15 Feb 2022 05:27:55.350 # Servidor inicializado
102:M 15 Feb 2022 05:27:55.350 # ADVERTENCIA: ¡overcommit_memory está establecido en 0! El guardado en segundo plano podría fallar en condiciones de baja memoria. Para solucionar este problema, agregue 'vm.overcommit_memory = 1' a /etc/sysctl.conf y luego reinicie o ejecute el comando 'sysctl vm.overcommit_memory=1' para que surta efecto.
102:M 15 Feb 2022 05:27:55.352 * Cargando RDB producido por la versión 6.2.6
102:M 15 Feb 2022 05:27:55.352 * Edad del RDB: 18923 segundos
102:M 15 Feb 2022 05:27:55.352 * Uso de memoria del RDB al crearse: 133.51 Mb
102:M 15 Feb 2022 05:27:55.912 # Finalizado de carga del RDB, claves cargadas: 7294, claves expiradas: 127.
102:M 15 Feb 2022 05:27:55.912 * Base de datos cargada desde el disco: 0.560 segundos
102:M 15 Feb 2022 05:27:55.912 * Listo para aceptar conexiones
I, [2022-02-15T05:28:05.336548 #1]  INFO -- : 
I, [2022-02-15T05:28:05.337696 #1]  INFO -- : > thpoff echo "¡thpoff está instalado!"
I, [2022-02-15T05:28:05.349534 #1]  INFO -- : ¡thpoff está instalado!

I, [2022-02-15T05:28:05.349959 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "¡Abortando! ¡El correo no está configurado!"; exit 1; end'
I, [2022-02-15T05:28:05.496038 #1]  INFO -- : 
I, [2022-02-15T05:28:05.496604 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "¡Abortando! ¡El dominio no está configurado!"; exit 1; end'
I, [2022-02-15T05:28:05.617847 #1]  INFO -- : 
I, [2022-02-15T05:28:05.618268 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "¡Abortando! El CDN debe tener un protocolo especificado. Una vez corregido, deberías volver a hornear tus publicaciones ahora para corregir todas las publicaciones."; exit 1; end'
I, [2022-02-15T05:28:05.754370 #1]  INFO -- : 
I, [2022-02-15T05:28:05.755864 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2022-02-15T05:28:05.763371 #1]  INFO -- : 
I, [2022-02-15T05:28:05.773372 #1]  INFO -- : Archivo > /etc/cron.d/anacron  chmod:   chown: 
I, [2022-02-15T05:28:05.785161 #1]  INFO -- : Archivo > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2022-02-15T05:28:05.801026 #1]  INFO -- : Archivo > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2022-02-15T05:28:05.816469 #1]  INFO -- : Archivo > /etc/service/nginx/run  chmod: +x  chown: 
I, [2022-02-15T05:28:05.828667 #1]  INFO -- : Archivo > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2022-02-15T05:28:05.841176 #1]  INFO -- : Archivo > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2022-02-15T05:28:05.841464 #1]  INFO -- : Reemplazando # postgres por sv start postgres || exit 1 en /etc/service/unicorn/run
I, [2022-02-15T05:28:05.842241 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2022-02-15T05:28:05.847862 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
130:C 15 Feb 2022 05:28:05.853 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
130:C 15 Feb 2022 05:28:05.854 # Versión de Redis=6.2.6, bits=64, commit=00000000, modificado=0, pid=130, recién iniciado
130:C 15 Feb 2022 05:28:05.855 # Configuración cargada
130:M 15 Feb 2022 05:28:05.857 * reloj monótono: POSIX clock_gettime
130:M 15 Feb 2022 05:28:05.858 # Advertencia: No se pudo crear el socket de escucha TCP del servidor *:6379: bind: La dirección ya está en uso
130:M 15 Feb 2022 05:28:05.859 # Error al escuchar en el puerto 6379 (TCP), abortando.
Actualizando archivos: 100% (30947/30947), listo.
I, [2022-02-15T05:28:13.624544 #1]  INFO -- : HEAD ahora está en e1367cde I18N: Mejorar el texto en los mensajes de error de palabras bloqueadas (#15741)
I, [2022-02-15T05:29:36.205328 #1]  INFO -- : > cd /var/www/discourse && [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean'
warning El campo de resolución "lodash@4.17.21" es incompatible con la versión solicitada "lodash@4.17.15".
warning " > @mixer/parallel-prettier@2.0.1" tiene una dependencia peer no cumplida "prettier@^2.0.0".
I, [2022-02-15T05:33:01.692668 #1]  INFO -- : yarn install v1.22.17
[1/5] Validando package.json...
[2/5] Resolviendo paquetes...
[3/5] Obteniendo paquetes...
[4/5] Vinculando dependencias...
[5/5] Construyendo paquetes nuevos...
$ yarn --cwd app/assets/javascripts/discourse
yarn install v1.22.17
[1/4] Resolviendo paquetes...
[2/4] Obteniendo paquetes...
[3/4] Vinculando dependencias...
[4/4] Construyendo paquetes nuevos...
success Archivo de bloqueo guardado.
Listo en 133.99s.
Listo en 195.02s.
yarn cache v1.22.17
success Caché borrada.
Listo en 9.35s.

I, [2022-02-15T05:33:01.697905 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2022-02-15T05:33:12.324517 #1]  INFO -- : discourse-github ya está en la última versión compatible
discourse-solved ya está en la última versión compatible
discourse-chat ya está en la última versión compatible

I, [2022-02-15T05:33:12.325695 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
102:M 15 Feb 2022 05:33:37.418 * 100 cambios en 300 segundos. Guardando...
102:M 15 Feb 2022 05:33:37.423 * Guardado en segundo plano iniciado por pid 1143
1143:C 15 Feb 2022 05:33:38.349 * Base de datos guardada en el disco
1143:C 15 Feb 2022 05:33:38.352 * RDB: 2 MB de memoria utilizados por copy-on-write
102:M 15 Feb 2022 05:33:38.429 * Guardado en segundo plano finalizado con éxito
I, [2022-02-15T05:33:38.994811 #1]  INFO -- : gem install sawyer -v 0.8.2 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
sawyer-0.8.2 instalado correctamente
1 gem instalado
gem install octokit -v 4.21.0 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
octokit-4.21.0 instalado correctamente
1 gem instalado
== 20220214224506 ResetCustomEmojiPostBakesVersionSecureFix: migrando ========
== 20220214224506 ResetCustomEmojiPostBakesVersionSecureFix: migrado (0.0099s) 

== 20220214233625 AddBounceErrorCodeToEmailLog: migrando =====================
-- add_column(:email_logs, :bounce_error_code, :string, {:null=true})
   -> 0.0103s
== 20220214233625 AddBounceErrorCodeToEmailLog: migrado (0.0121s) ============


I, [2022-02-15T05:33:38.996639 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Construyendo
- Construyendo
- construyendo... 
102:M 15 Feb 2022 05:38:39.069 * 100 cambios en 300 segundos. Guardando...
102:M 15 Feb 2022 05:38:39.080 * Guardado en segundo plano iniciado por pid 1213
1213:C 15 Feb 2022 05:38:39.863 * Base de datos guardada en el disco
1213:C 15 Feb 2022 05:38:39.867 * RDB: 2 MB de memoria utilizados por copy-on-write
102:M 15 Feb 2022 05:38:39.883 * Guardado en segundo plano finalizado con éxito
[WARN] (broccoli-terser-sourcemap) Minificar "assets/discourse.js" tomó: 35001ms (más de 20,000ms)
Killed
error El comando falló con código de salida 137.
I, [2022-02-15T05:52:50.058283 #1]  INFO -- : yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
ADVERTENCIA: Node v16.13.2 no ha sido probado contra Ember CLI en tu plataforma. Recomendamos que utilices la versión más reciente de Node.js «Active LTS». Consulta https://git.io/v7S5n para más detalles.
DEPRECACIÓN: La integración de jQuery en Ember ha sido deprecada y será eliminada con Ember 4.0. Puedes optar por no usar jQuery o instalar el complemento `@ember/jquery` para proporcionar la integración de jQuery. Consulta la guía de deprecación para más detalles: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Entorno: production
info Visita https://yarnpkg.com/en/docs/cli/run para documentación sobre este comando.

I, [2022-02-15T05:52:50.072549 #1]  INFO -- : Terminando procesos asíncronos
I, [2022-02-15T05:52:50.072816 #1]  INFO -- : Enviando INT a 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: 41
I, [2022-02-15T05:52:50.073275 #1]  INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
102:signal-handler (1644904370) Recibido SIGTERM, programando apagado...
2022-02-15 05:52:50.074 UTC [41] LOG:  recibido pedido de apagado rápido
2022-02-15 05:52:50.090 UTC [41] LOG:  abortando cualquier transacción activa
2022-02-15 05:52:50.096 UTC [41] LOG:  worker de fondo «logical replication launcher» (PID 50) salió con código de salida 1
2022-02-15 05:52:50.102 UTC [45] LOG:  apagando
102:M 15 Feb 2022 05:52:50.118 # Apagado solicitado por el usuario...
102:M 15 Feb 2022 05:52:50.120 * Guardando la instantánea RDB final antes de salir.
2022-02-15 05:52:50.248 UTC [41] LOG:  el sistema de bases de datos se ha apagado
102:M 15 Feb 2022 05:52:51.075 * Base de datos guardada en el disco
102:M 15 Feb 2022 05:52:51.076 # Redis ahora está listo para salir, adiós...


FALLÓ
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falló con retorno #<Process::Status: pid 1144 exit 137>
Ubicación del fallo: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
1716fd9590e21cdfdaccea0ac6faabd133a6423e1a24ef3b3b5be0e68ce422c9
** FALLO EN EL INICIO ** por favor, desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.

Ejecutando discourse-doctor ahora y recopilando registros más detallados.

Este es el script de actualización que he creado y he estado usando con éxito durante un año o más:

https://github.com/balupton/dotfiles/blob/master/commands/discourse-upgrader

Debería haber un error más específico encima de ‘FAILED’ si te desplazas hacia arriba.

Parece que no le gusta un tema/componente. Es posible que desees ejecutar ./launcher restart app para restaurar la versión anterior a la reconstrucción y así poder usar la interfaz de usuario normal para deshabilitar el que está en cuestión antes de intentar otra actualización. ¿Te dio alguna pista al desplazarte hacia arriba sobre cuál era?

El único registro significativo de brew doctor fue el siguiente:

I, [2022-02-15T06:14:34.823778 #1]  INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building...
Killed
error Command failed with exit code 137.
I, [2022-02-15T06:25:24.689000 #1]  INFO -- : yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v16.13.2 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
DEPRECATION: The integration of jQuery into Ember has been deprecated and will be removed with Ember 4.0. You can either opt-out of using jQuery, or install the `@ember/jquery` addon to provide the jQuery integration. Please consult the deprecation guide for further details: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I, [2022-02-15T06:25:24.701625 #1]  INFO -- : Terminating async processes
I, [2022-02-15T06:25:24.702927 #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-02-15T06:25:24.703765 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1644906324) Received SIGTERM scheduling shutdown...
2022-02-15 06:25:24.710 UTC [42] LOG:  received fast shutdown request
2022-02-15 06:25:24.741 UTC [42] LOG:  aborting any active transactions
103:M 15 Feb 2022 06:25:24.777 # User requested shutdown...
103:M 15 Feb 2022 06:25:24.777 * Saving the final RDB snapshot before exiting.
2022-02-15 06:25:24.796 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-02-15 06:25:24.797 UTC [46] LOG:  shutting down
2022-02-15 06:25:25.023 UTC [42] LOG:  database system is shut down
103:M 15 Feb 2022 06:25:26.383 * DB saved on disk
103:M 15 Feb 2022 06:25:26.385 # 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 1146 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'"]}
a1a2ad7dab631a87852f269d0de01bee80aea384be8a94ba4eb555f1fa5d9094
** 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.
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to discuss.bevry.me succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (924d10c5f09f04b43e96bd6d1a4a13945cd86ebbb12821a4943914538821b856): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Failed to restart the container.

He actualizado el OP para incluir más registros originales.
Volveré a ejecutar discourse-doctor, ya que falló porque faltaba wget. Publicaré el registro completo una vez que eso esté hecho.

Puedo confirmar esto, lo he intentado en 3 instancias diferentes y las compilaciones fallan después de llegar al siguiente estado.

I, [2022-02-15T07:09:36.714521 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
I, [2022-02-15T07:09:46.598212 #1]  INFO -- :
I, [2022-02-15T07:09:46.599983 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building...
Killed
error Command failed with exit code 137.
I, [2022-02-15T07:30:11.622116 #1]  INFO -- : Checking 'Easy Footer' for 'default'... up to date
Checking 'Discourse Loading Slider' for 'default'... up to date
Checking 'discourse-search-banner' for 'sandbox'... up to date
Checking 'discourse-category-sidebars' for 'sandbox'... up to date
Checking 'Hide Users Column' for 'sandbox'... up to date
Checking 'discourse-sidebar-nav' for 'sandbox'... up to date
Checking 'Dracula Theme' for 'sandbox'... up to date
Checking 'discourse-buttons' for 'tekduke'... yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v16.13.2 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
DEPRECATION: The integration of jQuery into Ember has been deprecated and will be removed with Ember 4.0. You can either opt-out of using jQuery, or install the `@ember/jquery` addon to provide the jQuery integration. Please consult the deprecation guide for further details: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.



FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1034 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'"]}
49ed46d025f5fe0a3de022b073b507cc3d94f74f96a60fe2d55042d413def454
** 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.

parece un problema relacionado con ember CLI.

Oye @balupton, ¿podrías intentar cambiar EMBER_CLI_PROD_ASSETS: 0 y volver a compilar? Tengo al menos 1 recompilación exitosa después del cambio anterior.

Estos parecen ser los únicos registros relevantes que indican que algo está mal:

I, [2022-02-15T07:15:48.531001 #1]  INFO -- : > cd /var/www/discourse & [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production & yarn cache clean'
warning Resolution field "lodash@4.17.21" is incompatible with requested version "lodash@4.17.15"
warning " > @mixer/parallel-prettier@2.0.1" has unmet peer dependency "prettier@^2.0.0".
I, [2022-02-15T07:19:45.453691 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building...
Killed
error Command failed with exit code 137.
I, [2022-02-15T07:31:39.549100 #1]  INFO -- : yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v16.13.2 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
DEPRECATION: The integration of jQuery into Ember has been deprecated and will be removed with Ember 4.0. You can either opt-out of using jQuery, or install the `@ember/jquery` addon to provide the jQuery integration. Please consult the deprecation guide for further details: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1145 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'"]}
a262c461f2ae24390cb1397df309c44738cdc2688483d5fb7d52a3fde3155409
** 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.

Lo intentaré, ¿cómo lo aplico?

Olvídalo, lo encontré:

Lo intentaré ahora.

Mirando el registro de cambios:

Me pregunto si es esto:

Ya que uno de los registros fue:

103:M 15 Feb 2022 06:54:18.720 # WARNING overcommit_memory está configurado en 0. El guardado en segundo plano puede fallar en condiciones de poca memoria. Para solucionar este problema, agregue 'vm.overcommit_memory = 1' a /etc/sysctl.conf y luego reinicie o ejecute el comando 'sysctl vm.overcommit_memory=1' para que esto tenga efecto.

Sin memoria.

Asegúrate de tener suficiente memoria (virtual). 1 GB de memoria y 2 GB de intercambio probablemente sea demasiado bajo hoy en día para una reconstrucción.

Sí, funcionó.

nvim /var/discourse/containers/app.yml
env:
  # ...
  ## Workaround for: https://meta.discourse.org/t/failed-to-upgrade-discourse-instance-to-feb-15-2022/218204/7?u=balupton
  EMBER_CLI_PROD_ASSETS: 0

Con Discourse ahora funcionando correctamente, top está devolviendo actualmente:

KiB Mem : **2041324** total, **287808** free, **1033300** used, **720216** buff/cache
KiB Swap: **0** total, **0** free, **0** used. **581308** avail Mem

Es el servidor VC1S de Scaleway:

¿Solucionaría también hacer la sugerencia en:

103:M 15 Feb 2022 06:54:18.720 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

También resolvería el problema?

El VPS tiene 4 GB de RAM y 2 GB de Swap.

Necesitas añadir algo de swap. Parece que tienes mucho disco, así que podrías añadir 2G o incluso 3G por seguridad.

La configuración estándar de Discourse debería, creo, haber configurado ya el swap para ti. Quizás consulta Crear un archivo swap para tu servidor Linux

Y aun así ves que te quedas sin memoria, eso es preocupante. Por favor, pega la salida de tu comando free.

Noto que en ambas instalaciones (ambas tienen solo 1G de RAM y 2G de swap) he seguido en algún momento ese consejo y he configurado vm.overcommit_memory=1 en /etc/sysctl.conf. (Eso no quiere decir que solucione este problema actual).

Pronto eliminaremos la capacidad de desactivar los activos de Ember CLI, así que asegúrate de resolver el problema con tu configuración pronto. De lo contrario, volverá a fallar en una futura actualización.

Necesitarás un mínimo de 1 GB de RAM + 2 GB de intercambio (según nuestro script de instalación estándar https://github.com/discourse/discourse_docker/blob/main/discourse-setup#L199-L203)

Eso es realmente preocupante; por favor, infórmanos qué ves en la salida de free @itsbhanusharma

Hola @david
Aquí está libre

root@discourse:~# free
              total        used        free      shared  buff/cache   available
Mem:        3932016     3747708       87928       12812       96380        9960
Swap:       2097148     1095852     1001296

¿Tienes algo más ejecutándose en el servidor? Los números de ‘usado’ ahí parecen bastante altos para una instalación estándar de Discourse :thinking:

disponible 9960

Eso no es mucho :scream:

¿Cuántos unicornios estás ejecutando?

Es una instalación de Discourse multisitio. Hay algunos contenedores adicionales (por ejemplo, un receptor de correo y un monitor de tiempo de actividad), pero nada fuera de lo común.

UNICORN_WORKERS: 4

¿Cómo se ve free después de un reinicio?