Aggiornamento fallito con errore imprevisto durante la ricostruzione

Ciao a tutti,

Sono bloccato con un problema di aggiornamento di Discourse. Il comando di ricostruzione fallisce e non riesco a completare l’aggiornamento. È correlato al passaggio bundle install

FAILED
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --retry 3 --jobs 4' fallito con ritorno #<Process::Status: pid 6677 exit 5>
Posizione del fallimento: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec fallito con i parametri {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
d5f6cd1fd76403647c95480f36207ae014cd548ec8eb9914fdf280998b5597d
** FAILED TO BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
bootstrap fallito con codice di uscita 5

ma non sono sicuro di come risolverlo. Qualche consiglio?

Grazie per qualsiasi suggerimento!

Per favore, pubblica il log completo (o almeno gli errori precedenti), poiché quel frammento da solo non significa molto.

1 Mi Piace

Potresti provare senza la barra degli strumenti di formattazione del discorso

Sì, ho rimosso quel plugin insieme agli altri, ma sfortunatamente il problema persiste.

Dopo aver ridotto quasi tutti i plugin, ho aggiunto l’ultimo output dall’esecuzione di ./discourse-doctor e il problema rimane. Mi chiedo se dovrei anche considerare la rimozione di alcuni template o se l’errore potrebbe essere altrove. Tutto funzionava senza problemi finché non ho tentato di aggiornare, e ora il sito è inattivo. Ecco il testo aggiuntivo dall’output di ./discourse-doctor, che potrebbe fare più luce sul problema:

2023-12-14 22:38:53.291 UTC [42] LOG: il sistema di database è spento
11:14 Mi Dic 2023 22:38:53.536 +0000 Salvato su disco
11:14 Mi Dic 2023 22:38:53.346 # Redis è ora pronto per uscire, arrivederci...

FALLITO
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --retry 3 --jobs 4' fallito con ritorno #<Process::Status: pid 518 exit 5>
Posizione del fallimento: /usr/local/lib/ruby/gems/2.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fallito con i parametri {\"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'\"]}}
** FALLITO IL BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.
0cbe5f54cc4be6fd4475fdad523d75c5cd36cded997f6b3cab34e4e908896
==================== FINE LOG DI RICOSTRUZIONE ====================
Impossibile ricostruire l'app.

Controllo del tuo nome di dominio...
Connessione a forospyware.com riuscita.
Dovresti probabilmente rimuovere tutti i plugin non standard e ricostruire.
Tentativo di riavviare il container esistente...
Rilevata architettura x86_64.

avvio del container esistente
+ /usr/bin/docker start app
Risposta di errore dal daemon: il driver non è riuscito a programmare la connettività esterna sull'endpoint app (1a8bb1f1f3267284b55ed1620db877010454d9932112d71de80bac3e5ff7d7): Errore nell'avvio del proxy userland: listen tcp 0.0.0.0:443: bind: address already in use
Errore: impossibile avviare i container: app
Impossibile riavviare il container.

==================== PLUGIN ====================
- git clone https://github.com/discourse/docker_manager.git
Nessun plugin non ufficiale rilevato.

Vedi https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb per l'elenco ufficiale.

==================== VERSIONE DISCOURSE ====================
Versione Discourse su forospyware.com: NON TROVATA
Versione Discourse su localhost: NON TROVATA

==================== INFORMAZIONI MEMORIA ====================
RAM (MB): 8174

total used free shared buff/cache available
Mem: 7983 195 4275 80 3512 7326
Swap: 0 0 0

==================== CONTROLLO SPAZIO SU DISCO ====================
-- Spazio su disco del sistema operativo
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 155G 107G 49G 69% /

==================== INFORMAZIONI DISCO ====================
Disco /dev/vda: 160 GiB, 171798691840 byte, 335544320 settori
Unità: settori di 1 * 512 = 512 byte
Dimensione settore (logica/fisica): 512 byte / 512 byte
Dimensione I/O (minima/ottimale): 512 byte / 512 byte
Tipo di etichetta disco: gpt
Identificativo disco: 603625F3-7AE2-40CB-B05E-08D7EAD257E4

Device Start End Sectors Size Type
/dev/vda1 227328 335544286 335316959 159.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M Microsoft basic data

Le voci della tabella delle partizioni non sono nell'ordine del disco.
==================== FINE INFORMAZIONI DISCO ====================

==================== TEST MAIL ===================
Per un test robusto, ottieni un indirizzo da http://www.mail-tester.com/
Oppure invia semplicemente un messaggio di prova a te stesso.
Indirizzo email per il test della posta? ('n' per saltare): n
Test della posta saltato.
Sostituzione: SMTP_PASSWORD
Sostituzione: LETSENCRYPT_ACCOUNT_EMAIL
Sostituzione: DEVELOPER_EMAILS
Sostituzione: DISCOURSE_DB_PASSWORD
Sostituzione: Invio posta a

==================== FATTO! ====================
Puoi esaminare l'output di questo script con
LESS=-Ri less /tmp/discourse-debug.txt


MA PRIMA, assicurati di conoscere i primi tre comandi qui sotto!!!

Comandi da conoscere quando si visualizza il file con il comando sopra (chiamato 'less'):
q -- esci
/ -- cerca la parola 'error'
n -- cerca la prossima occorrenza
N -- vai alla

Devi condividere la prima parte del log di compilazione. La parte che include la riga bundle install.

Intendi questa parte? - scusa, muoversi e vedere tutto il codice con la console DigitalOcean è molto difficile.

Potresti esaminare il log e indicare dove ci sono errori? Quello alla fine non dovrebbe essere l’unico.

Se è troppo complicato, va bene anche fornire l’intero log.

Sembra che questo sia stato il fallimento critico:

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.

Potresti fornire quel file di log? (/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log)

Jay ha avuto lo stesso problema Rebuild failure: "extconf failed, exit code 1" -- due to old Docker?, ma non so se alla fine abbia risolto il problema.

@TroyaNO Per sicurezza, puoi provare a digitare git pull prima di riprovare ./launcher rebuild app?

1 Mi Piace

Ho deciso che fosse un vecchio Docker, anche se non aveva molto senso.

Ma scommetto che questo è rimasto sulla stessa vm dal 2018 e il sistema operativo è obsoleto.

Quindi quello che farei è avviare un nuovo droplet e Spostare un sito Discourse su un altro VPS con rsync.

1 Mi Piace