Não é possível atualizar - a reconstrução do app falha ao inicializar

Tive uma notificação de que precisava atualizar nossa instalação, então fui ao admin e vi isto:

Clicar no link de atualização acionou uma verificação, mas ambos retornaram “atualizado”. Então tentei ./launcher rebuild app e obtive isto:

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

Em seguida, executei ./discourse-doctor, que colocou o site de volta em funcionamento (embora, estranhamente, o e-mail de teste tenha expirado, talvez isso seja um problema separado). Então tentei outro ./launcher rebuild app e ele falhou ao inicializar novamente com o mesmo problema.

Alguém tem alguma pista sobre isso? Estou usando Docker no Ubuntu 22.04.

Você pode fazer isso e adicionar essas informações aqui?

1 curtida

Aqui está o log completo do app rebuild:

discourse-log.log.txt (17,7 KB)

Vejo que quando tento um app stop e um app start, ele volta a funcionar OK, mas acho que isso é na versão antiga?

Correto. Não precisamos do log inteiro, apenas erros óbvios (não avisos).

(não tenho certeza por que meu upload não está funcionando nesse link, mas) o único erro óbvio que consigo ver ao analisar esse log é:

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

Isso não parece bom?

~$ host github.com no servidor funciona bem para resolvê-lo.

Se o erro fosse óbvio, ele não estaria postando. :slight_smile: (Mas falando sério, é bem difícil para alguém não familiarizado com esses logs descobrir o que importa e o que não importa, e você pode encontrar centenas de tópicos onde alguém errou ao adivinhar qual era o erro.

Parece um problema com a rede do Docker quebrada de alguma forma. O Docker está atualizado? E o seu sistema operacional?

2 curtidas

mas o @gilgongo acertou em cheio :wink:

1 curtida

Ah - rede? OK, então, em uma tentativa de fazer uma coisa “básica”, executei systemctl restart docker.service e depois executei ./launcher rebuild app e (depois do que pareceram dez mil anos) ele voltou a funcionar! Agora diz que estou executando “3.3.0.beta3-dev”, o que parece ser uma coisa boa, eu acho? Pelo menos parece estar funcionando.

Ufa - obrigado pela sua ajuda! Eu amo o Discourse!

2 curtidas

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