No se puede actualizar: la reconstrucción de la app falla al iniciar

Recibí una notificación de que necesitaba actualizar nuestra instalación, así que fui al administrador y vi esto:

Al hacer clic en el enlace de actualización, se activó una verificación, pero ambas arrojaron “actualizado”. Así que intenté ./launcher rebuild app y obtuve esto:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
' failed with return #<Process::Status: pid 130 exit 128>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["sudo -H -E -u discourse git reset --hard", "sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [ $(git rev-parse --is-shallow-repository) == \\\"true\\\" ]; then\n      git remote set-branches --add origin main\n      git remote set-branches origin $version\n      git fetch --depth 1 origin $version\n  else\n      git fetch --tags --prune-tags --prune --force origin\n  fi\n'", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      git -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u discourse git config user.discourse-version $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp\"", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete"]}
bootstrap failed with exit code 128
** 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.
fd6a747d640a06c375439c5c134aa46ff11ceb8f677d6d16247cb57c9772f731

Luego ejecuté ./discourse-doctor, lo que hizo que el sitio volviera a funcionar (aunque extrañamente la prueba de correo electrónico se agotó, tal vez sea un problema aparte). Así que intenté otro ./launcher rebuild app y volvió a fallar al arrancar con el mismo problema.

¿Alguien tiene alguna pista sobre esto? Estoy usando Docker en Ubuntu 22.04.

¿Puedes hacer eso y añadir esa información aquí?

1 me gusta

Aquí está el registro completo de la reconstrucción de la aplicación:

discourse-log.log.txt (17.7 KB)

Veo que cuando intento detener la aplicación y iniciar la aplicación, vuelve a funcionar correctamente, pero supongo que eso es en la versión anterior.

Correcto. No necesitamos el registro completo, solo los errores obvios (no advertencias).

(no estoy seguro de por qué mi carga no funciona en ese enlace, pero) el único error obvio que puedo ver al mirar ese registro es:

fatal: unable to access 'https://github.com/discourse/discourse.git/': Could not resolve host: github.com

¿Eso no suena bien?

~$ host github.com en el servidor funciona bien para resolverlo.

Si el error fuera obvio, no estaría publicando. :slight_smile: (Pero en serio, es bastante difícil para alguien que no está familiarizado con esos registros averiguar qué es importante y qué no, y puedes encontrar cientos de temas donde alguien se equivocó al adivinar cuál era el error.

Suena como un problema con la red de Docker que está rota de alguna manera. ¿Está Docker actualizado? ¿Tu sistema operativo?

2 Me gusta

pero @gilgongo dio en el clavo :wink:

1 me gusta

Ah, ¿redes? OK, así que en un intento de hacer algo “básico”, ejecuté systemctl restart docker.service y luego ./launcher rebuild app y (después de lo que parecieron diez mil años) ¡volvió a funcionar! Ahora dice que estoy ejecutando “3.3.0.beta3-dev”, lo que suena bien, ¿verdad? Al menos parece que funciona.

¡Uf, gracias por tu ayuda! ¡Me encanta Discourse!

2 Me gusta

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