# Erro de tempo de execução durante a atualização para v3.0.3

**URL:** https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165
**Category:** Self-hosting
**Created:** [19 Abril , 2023 01:15 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165 "2023-04-19T01:15:26Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [19 Abril , 2023 01:15 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/1 "2023-04-19T01:15:26Z")

</div>

Acabei de responder a um e-mail de notificação de ‘atualização de um clique’ para uma nova versão de segurança e correção de bugs para 3.0.3, da minha versão atual 3.0.1.

A atualização inicial do Docker Manager ocorreu bem (de acordo com o relatório de progresso da atualização na página web de atualização), mas quando subsequentemente cliquei em ‘atualizar tudo’ para atualizar os componentes restantes do discourse que mostravam uma nova versão disponível, isso falhou, deixando meu site offline.

Estranhamente, o Docker Manager é mencionado novamente no relatório de progresso da atualização subsequente, mesmo que já tivesse sido atualizado separadamente - desta vez relatando que ‘Falha ao atualizar’ e ‘RuntimeError’.

Estou interpretando corretamente que isso se deveu a uma versão desatualizada do Ruby instalada em meu droplet Digital Ocean (v3.1, em vez de v3.2)? Se sim, eu esperava que qualquer nova dependência desse tipo tivesse sido mencionada nas notas de atualização (não foi um problema com atualizações anteriores), se não tratada de forma mais graciosa pelo instalador de um clique?

Abaixo estão os conteúdos daquela janela de relatório de progresso de atualização subsequente

```plaintext
********************************************************
 ***Por favor, seja paciente, os próximos passos podem demorar um pouco***
 ********************************************************
Ciclando Unicorn, para liberar memória
Reiniciando unicorn pid: 575
Aguardando o Unicorn recarregar.
Aguardando o Unicorn recarregar..
Aguardando o Unicorn recarregar...
Aguardando o Unicorn recarregar....
Aguardando o Unicorn recarregar.....
Aguardando o Unicorn recarregar......
Aguardando o Unicorn recarregar.......
Aguardando o Unicorn recarregar........
Aguardando o Unicorn recarregar.........
Usando net-protocol 0.2.1
Buscando addressable 2.8.4
Instalando addressable 2.8.4
Usando aws-sigv4 1.5.0
Usando openssl-signature_algorithm 1.3.0
Usando sprockets 3.7.2 de https://github.com/rails/sprockets (em 3.x@f4d3dae)
Usando request_store 1.5.1
Usando message_bus 4.3.2
Usando pry 0.14.2
Buscando rack-mini-profiler 3.1.0
Instalando rack-mini-profiler 3.1.0
Buscando rack-protection 3.0.6
Instalando rack-protection 3.0.6
Usando ecma-re-validator 0.4.0
Usando faraday 2.7.4
Usando image_optim 0.31.3
Usando logstash-logger 0.26.1
Usando mini_racer 0.6.3
Usando mini_suffix 0.3.3
Usando omniauth 1.9.2
Usando uglifier 4.2.0
Usando web-push 3.0.0
Usando sidekiq 6.5.8
Usando redis-namespace 1.10.0
Usando net-http 0.3.2
Usando oauth-tty 1.0.5
Usando snaky_hash 2.0.1
Usando activesupport 7.0.4.3
Buscando sass-embedded 1.62.0 (x86_64-linux-gnu)
Instalando sass-embedded 1.62.0 (x86_64-linux-gnu)
Usando rqrcode 2.1.2
Usando rss 0.2.9
Buscando tzinfo-data 1.2023.3
Instalando tzinfo-data 1.2023.3
Usando unf 0.1.4
Usando unicorn 6.1.0
Buscando loofah 2.20.0
Instalando loofah 2.20.0
Usando ruby-readability 0.7.0
Usando sanitize 6.0.1
Usando net-imap 0.3.4
Usando net-pop 0.1.2
Usando net-smtp 0.3.3
Usando css_parser 1.14.0
Usando aws-sdk-core 3.130.2
Usando cose 1.3.0
Usando pry-byebug 3.10.1
Usando pry-rails 0.3.9
Usando json_schemer 0.2.23
Usando faraday-retry 2.1.0
Usando oauth2 1.4.11
Usando rtlcss 0.2.0
Usando rails-dom-testing 2.0.3
Usando globalid 1.1.0
Usando activemodel 7.0.4.3
Usando mini_scheduler 0.15.0
Usando oauth 1.1.0
Usando dartsass-ruby 3.0.1
Usando rails-html-sanitizer 1.5.0
Buscando mail 2.8.1
Instalando mail 2.8.1
Usando aws-sdk-kms 1.56.0
Usando aws-sdk-sns 1.53.0
Usando actionview 7.0.4.3
Usando activejob 7.0.4.3
Usando active_model_serializers 0.8.4
Usando activerecord 7.0.4.3
Usando omniauth-oauth2 1.7.3
Usando omniauth-oauth 1.2.0
Usando aws-sdk-s3 1.114.0
Usando actionpack 7.0.4.3
Usando actionview_precompiler 0.2.3
Usando discourse-seed-fu 2.3.12
Usando omniauth-facebook 9.0.0
Usando omniauth-github 1.4.0
Usando omniauth-google-oauth2 0.8.2
Usando omniauth-twitter 1.4.0
Usando actionmailer 7.0.4.3
Usando railties 7.0.4.3
Usando sprockets-rails 3.4.2
Usando dartsass-sprockets 3.0.0
Usando lograge 0.12.0
Buscando rails_failover 1.0.0
Instalando rails_failover 1.0.0
Usando rails_multisite 4.0.1
Buscando puma 6.2.2
Instalando puma 6.2.2 com extensões nativas
Usando bootsnap 1.16.0
Usando rbtrace 0.4.14
Bundle completo! 136 dependências de Gemfile, 174 gems agora instalados.
Gems nos grupos 'test' e 'development' não foram instaladas.
Gems empacotadas são instaladas em './vendor/bundle'
$ yarn install --production
yarn install v1.22.19
[1/5] Validando package.json...
[2/5] Resolvendo pacotes...
[3/5] Buscando pacotes...
[4/5] Vinculando dependências...
warning " > @mixer/parallel-prettier@2.0.3" tem dependência de par não atendida "prettier@^2.0.0".
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" tem dependência de par não atendida "lodash@>=4".
[5/5] Construindo pacotes novos...
$ yarn --cwd app/assets/javascripts $(node -e 'if(JSON.parse(process.env.npm_config_argv).original.includes(`--frozen-lockfile`)){console.log(`--frozen-lockfile`)}')
yarn install v1.22.19
[1/4] Resolvendo pacotes...
[2/4] Buscando pacotes...
[3/4] Vinculando dependências...
warning " > babel-plugin-debug-macros@0.4.0-pre1" tem dependência de par incorreta "@babel/core@^7.0.0".
warning "workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/aws-s3@3.0.6" tem dependência de par incorreta "@uppy/core@^3.1.2".
warning "workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/aws-s3-multipart@3.1.3" tem dependência de par incorreta "@uppy/core@^3.1.2".
warning "workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/xhr-upload@3.1.1" tem dependência de par incorreta "@uppy/core@^3.1.2".
[4/4] Construindo pacotes novos...
success Saved lockfile.
$ patch-package
patch-package 6.5.1
Aplicando patches...
@ember/jquery@2.0.0 ✔
vdom@2.1.1 ✔
Concluído em 23.96s.
Concluído em 40.79s.
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
Discourse requer Ruby 3.2 ou superior
Incapaz de buscar versões de plugin compatíveis
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Discourse requer Ruby 3.2 ou superior
Docker Manager: FALHA AO ATUALIZAR
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:202:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:101: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/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
Iniciando 1 worker Unicorn(s) que foram parados inicialmente

```

Vou passar pelas etapas para reconstruir meu site via Putty, mas estou relatando o acima caso haja um bug com o instalador.

---

<div class="post-metadata">

### Author: ![Walker\_Blackwell](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/walker_blackwell/32/119568_2.png) [@Walker\_Blackwell](https://meta.discourse.org/u/Walker_Blackwell)
#### Post date: [19 Abril , 2023 01:22 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/2 "2023-04-19T01:22:38Z")

</div>

Estou passando por algo semelhante. O fórum está parado no momento . . .

Saberei mais amanhã, quando não estiver caindo de sono. Acho que isso é um “concordo plenamente”.

-Walker

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [19 Abril , 2023 06:43 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/3 "2023-04-19T06:43:22Z")

</div>

> [@Paul\_King](#):
>
> `Discourse requires Ruby 3.2 or above`

Você precisa baixar uma nova versão da imagem Docker.

A propósito - esse erro só ocorre em 3.1.0.beta4 e superior, [não em 3.0.3 stable](https://github.com/discourse/discourse/blob/stable/config/application.rb#L3-L6).

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [19 Abril , 2023 07:03 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/4 "2023-04-19T07:03:18Z")

</div>

Parece que o gerenciador do Docker precisa saber que não pode fazer um upgrade, certo? Ele deveria exigir uma reconstrução pela linha de comando após ser atualizado. Eu pensei ter visto um aumento de versão nos commits há um tempo, mas acho que estou errado sobre isso.

Então você precisará

`./launcher rebuild app`

---

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [19 Abril , 2023 07:03 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/5 "2023-04-19T07:03:21Z")

</div>

Obrigado - sim, o problema foi resolvido para mim quando reconstruí via Putty.

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [19 Abril , 2023 07:40 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/7 "2023-04-19T07:40:14Z")

</div>

> [@pfaffman](#):
>
> Eu pensei que tinha visto um aumento de versão nos commits há um tempo

Sim, isso aconteceu bem recentemente. [Update minimum image version for Ruby 3.2 (#176) · discourse/docker\_manager@7e7b6b5 · GitHub](https://github.com/discourse/docker_manager/commit/7e7b6b56a91814e93c8be2ff774bdaec3176a37e)

O Docker Manager deve solicitar uma reconstrução da linha de comando quando esse requisito não for atendido. 🤔

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [19 Abril , 2023 07:45 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/8 "2023-04-19T07:45:48Z")

</div>

> [@gerhard](#):
>
> O Docker Manager deveria solicitar uma reconstrução da linha de comando quando esse requisito não for atendido.

Então, talvez haja algum bug ou regressão? Mas acho que vocês estão verificando isso. Parece um bug se o gerenciador do docker não sabe que não pode ter sucesso.

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [19 Abril , 2023 08:32 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/10 "2023-04-19T08:32:19Z")

</div>

> [@Paul\_King](#):
>
> para 3.03, da minha versão atual 3.01

Você pode confirmar essas versões? Como @RGJ disse em uma postagem abaixo, as versões estáveis não exigem Ruby 3.2, então você não deve ver esses erros ao atualizar no branch estável.

Você tentou, por acaso, atualizar da v3.1.0.beta1 (ou uma versão ainda mais antiga) para a v3.1.0.beta4?

O problema é que estamos fixando o `docker_manager` em uma versão antiga para o Discourse v3.1.0.beta1 e anteriores. Você verá algo assim.

 ![image](https://global.discourse-cdn.com/meta/original/4X/c/5/2/c52f84494b22f54c408abce68d27ba9b27373975.png)

A atualização para a v3.1.0.beta4 exigirá Ruby 3.2, mas há uma chance de que você esteja executando uma imagem Docker que ainda não veio com Ruby 3.2. O antigo `docker_manager` acha que isso é bom, então permite que você atualize na interface do usuário, quando deveria solicitar uma reconstrução da CLI.

Estou no processo de reproduzir o problema. Acho que a correção será fazer alterações na versão fixada, para que ela solicite uma reconstrução da CLI. Tentarei apresentar uma correção…

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [19 Abril , 2023 08:41 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/11 "2023-04-19T08:41:43Z")

</div>

Vi isso para dois sites ontem que estão em testes aprovados. Não tenho certeza da versão de onde eles estavam atualizando. Desculpe por não ter dados melhores.

---

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [19 Abril , 2023 08:47 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/12 "2023-04-19T08:47:11Z")

</div>

> [@gerhard](#):
>
> Você pode confirmar essas versões? Como @RGJ disse em uma postagem abaixo, as versões estáveis não exigem Ruby 3.2, então você não deve ver esses erros ao atualizar no branch estável.
> 
> Por acaso você tentou atualizar da v3.1.0.beta1 (ou de uma versão ainda mais antiga) para a v3.1.0.beta4?

Não tenho certeza agora que a atualização foi concluída - mas acho que pode ter sido uma versão beta 3.0.1 que eu estava atualizando \*\* editar \*\* - NÃO uma beta 3.10

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [19 Abril , 2023 11:09 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/13 "2023-04-19T11:09:11Z")

</div>

> [@Paul\_King](#):
>
> 3.3 stable foi concluída - mas sim, acho que pode ter sido uma versão beta 3.01 da qual eu estava atualizando.

Espere. Você não pode ir de uma versão beta 3.1 para a versão estável 3.0.3?

---

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [19 Abril , 2023 12:25 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/14 "2023-04-19T12:25:36Z")

</div>

> [@RGJ](#):
>
> Espere. Você não pode ir de 3.1 beta para 3.0.3 estável?

Ok, a versão mudou novamente, mas tenho certeza de que estava tentando atualizar de 3.0.1 (possivelmente um beta) para 3.0.3 estável, que naquele momento parecia ser a opção estável mais recente. Vejo que depois que isso falhou e eu reconstruí no Putty, o resultado pulou a versão pretendida 3.0.3 e, na verdade, instalou uma 3.1.0 beta 4.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [19 Abril , 2023 12:28 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/15 "2023-04-19T12:28:50Z")

</div>

Sim, isso falhou, porque você não pode ir de 3.1 beta para 3.0 estável.

---

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [19 Abril , 2023 12:31 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/16 "2023-04-19T12:31:19Z")

</div>

Eu não comecei na versão beta 3.1. Comecei na versão beta 3.0.1.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [19 Abril , 2023 12:34 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/17 "2023-04-19T12:34:21Z")

</div>

Não existe 3.01, é 3.0.1 ou 3.1.0.  
Mas não importa realmente. Sua situação aconteceu porque você estava indo para a versão beta4 do 3.1.0.

---

<div class="post-metadata">

### Author: ![Paul\_King](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paul_king/32/165426_2.png) [@Paul\_King](https://meta.discourse.org/u/Paul_King)
#### Post date: [19 Abril , 2023 12:43 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/18 "2023-04-19T12:43:45Z")

</div>

Este é o meu ponto - comecei com a versão beta **3.0.1** , e a notificação de atualização de um clique enviada por e-mail era para a versão estável 3.0.3 - que falhou na atualização. Naquele momento, eu não tinha recebido a opção de ir para a versão beta 3.1.0.

Talvez parte do problema tenha sido que, em vez de instalar a versão estável 3.0.3 ‘anunciada’, o atualizador tentou instalar a versão beta 3.1.0?

De qualquer forma, até onde sei, a única razão pela qual tenho a versão beta 3.1.0 instalada agora é devido à reconstrução via Putty, que puxou a versão beta mais recente, não a versão estável mais recente.

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [19 Abril , 2023 13:27 UTC](https://meta.discourse.org/t/runtime-error-during-upgrade-to-v3-0-3/262165/19 "2023-04-19T13:27:29Z")

</div>

A causa raiz será corrigida assim que [FIX: Update compatibility file for v3.1.0.beta1 and below by gschlager · Pull Request #178 · discourse/docker\_manager · GitHub](https://github.com/discourse/docker_manager/pull/178) for mesclada.
