Falha na atualização com erro inesperado durante a reconstrução

Olá a todos,

Estou com um problema na atualização do Discourse. O comando de reconstrução falha e não consigo completar a atualização. Está relacionado à etapa de bundle install

FAILED
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --retry 3 --jobs 4' falhou com retorno #<Process::Status: pid 6677 exit 5>
Localização da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
d5f6cd1fd76403647c95480f36207ae014cd548ec8eb9914fdf280998b5597d
** FALHA AO INICIAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
inicialização falhou com código de saída 5

mas não tenho certeza de como consertar. Algum conselho?

Obrigado por qualquer dica!

Por favor, poste o log completo (ou pelo menos os erros anteriores), pois apenas esse trecho não significa muito por si só.

1 curtida

Você pode tentar sem a barra de ferramentas de formatação de discurso

Sim, removi esse plugin junto com os outros, mas infelizmente o problema persiste.

Depois de remover quase todos os plugins, anexei a saída mais recente da execução de ./discourse-doctor, e o problema permanece. Eu me pergunto se devo também considerar remover alguns dos templates ou se o erro pode estar em outro lugar. Tudo estava funcionando perfeitamente até que tentei atualizar, e agora o site está fora do ar. Aqui está o texto adicional da saída de ./discourse-doctor, que pode lançar mais luz sobre o problema:

2023-12-14 22:38:53.291 UTC [42] LOG: o sistema de banco de dados está desligado
11:14 Mi Dez 2023 22:38:53.536 +0000 Salvo em disco
11:14 Mi Dez 2023 22:38:53.346 # Redis está pronto para sair, tchau tchau...

FALHA
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --retry 3 --jobs 4' falhou com retorno #<Process::Status: pid 518 exit 5>
Local da falha: /usr/local/lib/ruby/gems/2.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle config --local without \"development test\"'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
0cbe5f54cc4be6fd4475fdad523d75c5cd36cded997f6b3cab34e4e908896
==================== FIM DO LOG DE RECONSTRUÇÃO ====================
Falha ao reconstruir o aplicativo.

Verificando seu nome de domínio...
Conexão com forospyware.com bem-sucedida.
Você deve remover quaisquer plugins não padrão e reconstruir.
Tentando reiniciar o contêiner existente...
arquitetura x86_64 detectada.

iniciando o contêiner existente
+ /usr/bin/docker start app
Resposta de erro do daemon: driver falhou na programação da conectividade externa no endpoint app (1a8bb1f1f3267284b55ed1620db877010454d9932112d71de80bac3e5ff7d7): Erro ao iniciar o proxy userland: listen tcp 0.0.0.0:443: bind: address already in use
Erro: falha ao iniciar contêineres: app
Falha ao reiniciar o contêiner.

==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
Nenhum plugin não oficial detectado.

Veja https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb para a lista oficial.

==================== VERSÃO DO DISCOURSE ====================
Versão do Discourse em forospyware.com: NÃO ENCONTRADA
Versão do Discourse em localhost: NÃO ENCONTRADA

==================== INFORMAÇÕES DE MEMÓRIA ====================
RAM (MB): 8174

total usado livre compartilhado buff/cache disponível
Mem: 7983 195 4275 80 3512 7326
Swap: 0 0 0

==================== VERIFICAÇÃO DE ESPAÇO EM DISCO ====================
-- Espaço em Disco do SO
Filesystem Tamanho Usado Disp Uso% Montado em
/dev/vda1 155G 107G 49G 69% /

==================== INFORMAÇÕES DE DISCO ====================
Disco /dev/vda: 160 GiB, 171798691840 bytes, 335544320 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho de E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo de disco: gpt
Identificador de disco: 603625F3-7AE2-40CB-B05E-08D7EAD257E4

Dispositivo Início Fim Setores Tamanho Tipo
/dev/vda1 227328 335544286 335316959 159.9G Sistema de arquivos Linux
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M Dados básicos da Microsoft

As entradas da tabela de partições não estão na ordem do disco.
==================== FIM DAS INFORMAÇÕES DE DISCO ====================

==================== TESTE DE EMAIL ===================
Para um teste robusto, obtenha um endereço de http://www.mail-tester.com/
Ou apenas envie uma mensagem de teste para você mesmo.
Endereço de e-mail para teste de e-mail? ('n' para pular) [ ]: n
Teste de e-mail pulado.
Substituindo: SMTP_PASSWORD
Substituindo: LETSENCRYPT_ACCOUNT_EMAIL
Substituindo: DEVELOPER_EMAILS
Substituindo: DISCOURSE_DB_PASSWORD
Substituindo: Sending mail to

==================== FEITO! ====================
Você pode examinar a saída deste script com
LESS=-Ri less /tmp/discourse-debug.txt


MAS PRIMEIRO, certifique-se de que você conhece os três primeiros comandos abaixo!!!

Comandos para saber ao visualizar o arquivo com o comando acima (chamado 'less'):
q -- sair
/ -- procurar pela palavra 'error'
n -- procurar pela próxima ocorrência
N -- ir para a

Você precisa compartilhar a primeira parte do log de compilação. A parte que inclui a linha bundle install.

Você quer dizer esta parte? - desculpe, é muito difícil se mover e ver todo o código com o console da DigitalOcean.

Você poderia revisar o log e fornecer os locais onde há erros? O que está no final não deveria ser o único.

Se isso for muito incômodo, fornecer o log inteiro também serve.

Parece que esta foi a falha crítica:

I, [2023-12-14T22:38:19.544278 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle install --retry 3 --jobs 4'
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext
/usr/local/bin/ruby extconf.rb
  -- tar zxvfo msgpack-1.1.0.tar.gz
  -- env CFLAGS=nil LDFLAGS=nil CC=nil
-- ./configure --disable-dependency-tracking --disable-shared --with-pic
--prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
--libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/$(RUBY_BASE_NAME)extconf.rb:6:in `sys': ./configure --disable-dependency-tracking
--disable-shared --with-pic
--prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
--libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
failed, please report to https://github.com/tmm1/rbtrace/issues (RuntimeError)
	from extconf.rb:42:in `block (2 levels) in <main>'
	from extconf.rb:34:in `chdir'
	from extconf.rb:34:in `block in <main>'
	from extconf.rb:30:in `chdir'
	from extconf.rb:30:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0 for inspection.
Results logged to
/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/gem_make.out

  /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:120:in `run'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:28:in
`build'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:188:in
`build_extension'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:222:in `block in
build_extensions'
  /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:219:in `each'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:219:in
`build_extensions'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/installer.rb:844:in
`build_extensions'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/rubygems_gem_installer.rb:72:in
`build_extensions'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/source/rubygems.rb:198:in
`install'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/installer/gem_installer.rb:54:in
`install'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/installer/parallel_installer.rb:156:in
`do_install'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/installer/parallel_installer.rb:147:in
`block in worker_pool'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/worker.rb:62:in
`apply_func'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/worker.rb:57:in
`block in process_queue'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/worker.rb:54:in
`loop'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/worker.rb:54:in
`process_queue'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

An error occurred while installing rbtrace (0.5.0), and Bundler cannot continue.

Você poderia fornecer esse arquivo de log? (/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log)

Jay teve o mesmo problema Rebuild failure: "extconf failed, exit code 1" -- due to old Docker?, mas não sei se ele conseguiu resolver o problema no final.

@TroyaNO Só por garantia, você pode tentar digitar git pull antes de tentar novamente ./launcher rebuild app?

1 curtida

Decidi que era um Docker antigo, embora isso não fizesse muito sentido.

Mas aposto que isso está na mesma VM desde 2018 e o sistema operacional está desatualizado.

Então, o que eu faria seria iniciar um novo droplet e Mover um site Discourse para outro VPS com rsync.

1 curtida