Falha na atualização 2.7.0.beta2

Hi, I just received an email from discourse, proposing to upgrade from 2.7.0.beta1 to 2.7.0.beta2.
I went to the admin page and clicked on upgrade, and it seems like something has failed.
As a result, it is not possible to access my dicourse instance anymore (Error 500).

I include here the final part of the log. The full log was too long and therefore I could not include it here.
Instead, you can access it through pastebin.

The instance is hosted on a 2GB memory, 50GB hard disk digital ocean droplet. Nothing special was configured at this discourse instance. In fact, nobody even ever sent a single message on this instance.

brotli -f --quality=6 /var/www/discourse/public/assets/locales/zh_TW-09cd38bbba5770af30c208be36b0763fb1db74e336db84185e8a173201f7548e.js --output=/var/www/discourse/public/assets/locales/zh_TW-09cd38bbba5770af30c208be36b0763fb1db74e336db84185e8a173201f7548e.js.br


Done compressing locales/zh_TW-09cd38bbba5770af30c208be36b0763fb1db74e336db84185e8a173201f7548e.js : 0.11 secs

5746.556775825 Compressing: locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js > /var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js --output=/var/www/discourse/public/assets/locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js.br


Done compressing locales/sv-dfd441e5e9497b2361a61cc46e5f3491508ad05a9d84ef0a2c17dac10890fd24.js : 0.11 secs

5746.662857966 Compressing: locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js > /var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js --output=/var/www/discourse/public/assets/locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js.br


Done compressing locales/sl-97d2fc2eec6a4603afbd6466d84b4281605561c943f4b70c52d8b6874a54acef.js : 0.1 secs

5746.764039922 Compressing: locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js > /var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js --output=/var/www/discourse/public/assets/locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js.br


Done compressing locales/hy-afe58e4f81b01be42710b51b1eb32d913a9a77fb35efd5f197144d7113693a04.js : 0.14 secs

5746.902258561 Compressing: locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js > /var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js --output=/var/www/discourse/public/assets/locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js.br


Done compressing locales/da-2c6e181ef146930e8baa63c4ffe80df59414b8de019ee19058aa4ee1dcd88280.js : 0.11 secs

5747.007671073 Compressing: locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js > /var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js --output=/var/www/discourse/public/assets/locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js.br


Done compressing locales/te-9740a00eaeb5b1140e0042391528339d963a5a043a8edae6ca33d4e939d50133.js : 0.15 secs

5747.159975235 Compressing: locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js
gzip -f -c -9 /var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js > /var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js.gz

brotli -f --quality=6 /var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js --output=/var/www/discourse/public/assets/locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js.br


Done compressing locales/ko-0c03d0523d94c0739085171c60657b22b01c8eb0b2b2bb690e7fb3422b756e17.js : 0.12 secs

Skipping: plugins/discourse-local-dates-85c0a52c5a0ee4c69ce0a55fb5c6047c7fd2c12f0437b843240bb9ea3d4457b1.js already compressed
Skipping: plugins/discourse-narrative-bot-d88c63e1a6fadc2e6371b706e54750b554e3ee890061223c9af0f8feeb89915a.js already compressed
Skipping: plugins/discourse-presence-da4864123e624ace0b06153a5b9e6b600e5d5b6d6c28ada211bb7ec50894a66c.js already compressed
Skipping: plugins/poll-91a566fa78da0bffec70d7c8923ac79757032168b646e8c84d921d9810789bb1.js already compressed
Skipping: application-bd6ed652347208302845f7e2be3f2d2dbbbb72be7df2c0e46c18422a61188ff0.js already compressed
5747.281046973 Compressing: vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
uglifyjs '/var/www/discourse/public/assets/_vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js' -m -c -o '/var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js' --source-map "base='/var/www/discourse/public/assets',root='/assets',url='/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js.map'"
Parse error at _vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js:1850,34
        return Handlebars.compile(...arguments);
                                  ^
ERROR: Unexpected token: punc «.»
    at JS_Parse_Error.get (eval at <anonymous> (/usr/lib/node_modules/uglify-js/tools/node.js:18:1), <anonymous>:71:23)
    at fatal (/usr/lib/node_modules/uglify-js/bin/uglifyjs:332:27)
    at run (/usr/lib/node_modules/uglify-js/bin/uglifyjs:275:9)
    at Object.<anonymous> (/usr/lib/node_modules/uglify-js/bin/uglifyjs:190:5)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
rake aborted!
Errno::ENOENT: No such file or directory @ rb_file_s_size - /var/www/discourse/public/assets/vendor-b631d4ab0775fdbe453aa2158e18dc41826d0ba619e5f2731e5b9fa4c458af99.js
/var/www/discourse/lib/tasks/assets.rake:287:in `size'
/var/www/discourse/lib/tasks/assets.rake:287:in `block (4 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:178:in `block in concurrent?'
/var/www/discourse/lib/tasks/assets.rake:278:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:269:in `each'
/var/www/discourse/lib/tasks/assets.rake:269:in `block (2 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:178:in `concurrent?'
/var/www/discourse/lib/tasks/assets.rake:266:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:178:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:86:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/commands/runner/runner_command.rb:42:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/command/base.rb:69:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/command.rb:46:in `invoke'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.3.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:291:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies.rb:324:in `require'
bin/rails:17:in `<main>'
Spinning up 3 Unicorn worker(s) that were stopped initially

Você tem algum plugin não padrão instalado?

Você executou

 ./launcher rebuild app

na linha de comando?

Do meu lado, não tenho nenhum plugin não padrão e lancei isso pela linha de comando. Na primeira vez, ainda estava recebendo o erro.

Então reiniciei meu servidor, reconstruí o aplicativo… e agora funciona.

Olá, obrigado pela resposta rápida!
Tenho uma instalação padrão, nunca alterei nada, exceto clicar no botão “atualizar” de vez em quando. É por isso que considerei o que aconteceu com minha instância do Discourse muito surpreendente.
Não tentei executar ./launcher rebuild app, vou tentar e reportar o resultado.

Minha atualização para a versão 2.7.0.Beta2 nem consegue ser iniciada — cliquei no link de atualização de um clique no e-mail que anuncia essa atualização

Hooray, uma nova versão do Discourse está disponível!

Sua versão: 2.7.0.beta1
Nova versão: 2.7.0.beta2

Atualize usando nossa fácil atualização de um clique no navegador

Veja o que há de novo nas notas de lançamento ou visualize o changelog bruto do GitHub

Visite meta.discourse.org para notícias, discussões e suporte ao Discourse

o resultado é

por que isso está acontecendo? Eu deveria executar a atualização pelo console, logado no droplet da Digital Ocean que hospeda o Discourse?

Você precisará atualizar a partir da linha de comando. Há uma nova imagem base do Docker.

./launcher rebuild app

O anúncio diz isso, mas não está claro no e-mail padrão de atualização.

Acabei de atualizar para a versão 2.7.0.Beta2
Você precisa fazer essa atualização específica pelo terminal.

cd /var/discourse
git pull
 ./launcher rebuild app

Peço desculpas por esta discussão assíncrona — comecei minha pergunta e precisei sair abruptamente do meu escritório. Para evitar perder minha mensagem inacabada, salvei-a — e isso lhe deu a oportunidade de responder à minha pergunta antes que eu a publicasse completamente :wink:

O console DO funcionaria se você não usar um terminal.

Os botões na captura de tela estão inicialmente desabilitados, obrigando você a atualizar o Docker primeiro.

Uma observação: você poderia ter deixado sua resposta como está, pois ela é salva automaticamente como um rascunho.

Falei cedo demais

Obrigado, @geoff777 — agora faz todo o sentido

Estou tentando executar

cd /var/discourse
git pull
./launcher rebuild app

O script de rebuild do app falhou duas vezes seguidas, exatamente no mesmo ponto:

Isso não pode ser interferência de rede aleatória. Por favor, oriente.

No meu caso, a reconstrução travou no plugin discourse-vk-auth. Atualmente, minha instância funciona sem esse plugin.

gem install rrule -v 0.4.2 -i /var/www/discourse/plugins/discourse-calendar/gems/2.7.2 --no-document --ignore-dependencies --no-user-install
Instalação bem-sucedida do rrule-0.4.2
1 gem instalado
gem install omniauth-vkontakte -v 1.6.1 -i /var/www/discourse/plugins/discourse-vk-auth/gems/2.7.2 --no-document --ignore-dependencies --no-user-install
Instalação bem-sucedida do omniauth-vkontakte-1.6.1
1 gem instalado

I, [2021-01-22T17:13:51.391038 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::ConflictError: Não foi possível ativar o omniauth-vkontakte-1.6.1, porque o omniauth-oauth2-1.7.1 conflita com o omniauth-oauth2 (>= 1.5, <= 1.7.0)

Também tive problemas com esse plugin do vk em versões anteriores. Minha recomendação é removê-lo e colar o log de erro no tópico desse plugin no fórum para que possa ser resolvido. :+1:

Difícil dizer apenas pela captura de tela. Você tem espaço suficiente no disco?

Você editou suas postagens anteriores depois que eu interagi.

Na segunda vez, eu ‘curti’ uma postagem positiva, mas você a editou e agora é uma postagem sobre um problema.
O que, aparentemente, eu curto?

Peço desculpas, @geoff777 — sem pensar muito, reclassifiquei seu comentário de “curtir” (minha intenção era manter o número das minhas postagens baixo, reduzindo assim a chance de mal-entendidos).


Acredito que tenho espaço suficiente:

 System information as of Fri Jan 22 20:56:56 UTC 2021

  System load:  0.02               Users logged in:          0
  Usage of /:   39.7% of 24.06GB   IPv4 address for docker0: 172.17.0.1
  Memory usage: 50%                IPv4 address for eth0:    xxx.xxx.xxx.xxx
  Swap usage:   1%                 IPv4 address for eth0:    
  Processes:    107                IPv4 address for eth1:    

No entanto, suspeito que meu problema esteja relacionado ao console da Digital Ocean — ele expira muito rapidamente, então é possível que minha atualização tenha sido bem-sucedida e eu simplesmente não tenha percebido. Entrarei em contato com o suporte da DO e relatarei meus achados aqui.

Obrigado.

Você pode verificar no painel do seu fórum que a atualização foi realizada com sucesso.
Espero que tenha funcionado.

Sua sugestão / esperança @geoff777 não ajudou. Tentei fazer login e o servidor Discourse não estava respondendo.

Decidi executar discourse-doctor no console DO, iniciado pela ferramenta PuTTY (estou usando uma máquina Windows 10) — e meu console parou exatamente no mesmo ponto.

Observe o início desta execução: - app not running!

root@discourse-server:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR Sex Jan 22 22:14:45 UTC 2021
OS: Linux discourse-server 5.4.0-62-generic #70-Ubuntu SMP Ter Jan 12 12:45:47 U              TC 2021 x86_64 x86_64 x86_64 GNU/Linux


Encontrado containers/app.yml

==================== CONFIGURAÇÕES YML ====================
DISCOURSE_HOSTNAME=forum.congral.tech
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=admin@congral.com
SMTP_PASSWORD=3a22be2a4ba5ce9b0865199dc7083871-xxxxxx
SMTP_PORT=587
SMTP_USER_NAME=postmaster@forum.congral.tech
LETSENCRYPT_ACCOUNT_EMAIL=nikolaj.ivancic@congral.com

==================== INFORMAÇÕES DO DOCKER ====================
VERSAO DO DOCKER: Docker version 20.10.2, build 2291f61

PROCESSOS DO DOCKER (docker ps -a)

CONTAINER ID   IMAGE                              COMMAND                  CREAT              ED          STATUS                      PORTS     NAMES
4e0150995f6a   discourse/base:2.0.20201221-2020   "/bin/bash -c 'cd /p…"   16 mi              nutes ago   Exited (1) 14 minutes ago             mystifying_fermat
271aff6b3bce   discourse/base:2.0.20201221-2020   "/bin/bash -c 'cd /p…"   5 hou              rs ago      Exited (1) 5 hours ago                modest_brown
30ed32bab133   discourse/base:2.0.20201221-2020   "/bin/bash -c 'cd /p…"   5 hou              rs ago      Exited (1) 5 hours ago                laughing_lalande
add2d921333a   local_discourse/app                "/sbin/boot"             2 wee              ks ago      Exited (5) 5 hours ago                app

==================== PROBLEMA SÉRIO!!!! ====================
app not running!
Tentando reconstruir
==================== LOG DE RECONSTRUÇÃO ====================
Garantindo que o launcher esteja atualizado
Buscando origem
Launcher está atualizado
Parando o container antigo
+ /usr/bin/docker stop -t 60 app
...

Aqui está o log completo até o ponto de falha, salvo no meu repositório do Github, para economizar espaço aqui.

O fato de eu ter repetido essa atualização várias vezes e, após cada falha (reportada a mim como “falha de rede no console”), é óbvio que essa atualização está matando a instância existente do Discourse.

Por favor, oriente-me. Estou disposto a passar meus certificados caso queiram executar isso vocês mesmos.

Ambas as vezes você recebeu esse Erro Fatal do PuTTY?

Parece ser um problema do PuTTY, embora eu não consiga imaginar o motivo.

Sim, @pfaffman, eu recebo o mesmo erro. Se a execução do ./discourse-doctor causar uma falha catastrófica, não é possível que essa falha resulte no erro fatal do PuTTY — pelo menos da minha própria visão (remota) da falha dele?

Não parece muito provável, mas vou criar um ticket de suporte para o DO, esperando que eles possam ter uma visão melhor desse problema.

Acho que vou tentar o console do Digital Ocean na próxima (na verdade, eu usaria um terminal no Ubuntu, mas não é isso que eu recomendaria para você).

Desde ontem, observei muitos comportamentos estranhos. Antes de compartilhá-los aqui, por favor, me avise se continuar este tópico é útil para alguém (a alternativa é que eu esteja apenas pisando no meu próprio pé… e tudo isso seja uma perda de tempo para todos). Percebi que:

  • redefinir a senha root (pelo painel de controle do DO) resultou na capacidade de usar o console do Digital Ocean (como sugerido por @pfaffman acima)
  • em seguida, executei o discourse-doctor nesse console e ele não encontrou nada errado (antes desse evento de redefinição) o https://forum.congral.tech não respondia - agora tudo funciona perfeitamente)
  • Todas as minhas tentativas de atualizar o Discourse (como esta) falharam várias vezes (o console do PuTTY mostrando Network Error como motivo), e hoje posso confirmar que a atualização falhou:
content="Discourse 2.7.0.beta1 - https://github.com/discourse/discourse version 1cf92310456fb6e6424f6b532770461c56378d53"

Alterar a senha root e depois usar o console do Digital Ocean é uma mudança significativa que pode interessar à equipe do Discourse para entender melhor. Devo continuar investigando e compartilhando minhas descobertas aqui, @pfaffman?