La mise à jour échoue avec une erreur inattendue lors de la reconstruction

Salut tout le monde,

Je suis bloqué avec un problème de mise à jour de Discourse. La commande de reconstruction échoue et je ne peux pas terminer la mise à jour. Cela est lié à l’étape bundle install

FAILED
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --retry 3 --jobs 4' a échoué avec le retour #<Process::Status: pid 6677 exit 5>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
exec a échoué avec les paramètres {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
d5f6cd1fd76403647c95480f36207ae014cd548ec8eb9914fdf280998b5597d
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
bootstrap a échoué avec le code de sortie 5

mais je ne sais pas comment le résoudre. Des conseils ?

Merci pour toute aide !

Veuillez publier le journal complet (ou au moins les erreurs précédentes), car ce seul extrait ne signifie pas grand-chose en soi.

1 « J'aime »

Vous pourriez essayer sans la barre d’outils de mise en forme du discours

Oui, j’ai supprimé ce plugin ainsi que les autres, mais malheureusement, le problème persiste.

Après avoir supprimé presque tous les plugins, j’ai ajouté la dernière sortie de l’exécution de ./discourse-doctor, et le problème demeure. Je me demande si je devrais également envisager de supprimer certains modèles ou si l’erreur pourrait se trouver ailleurs. Tout fonctionnait parfaitement jusqu’à ce que j’essaie de mettre à jour, et maintenant le site est hors service. Voici le texte supplémentaire de la sortie de ./discourse-doctor, qui pourrait éclaircir le problème :

2023-12-14 22:38:53.291 UTC [42] LOG: la base de données est arrêtée
11:14 Mi Dec 2023 22:38:53.536 +0000 Sauvegardé sur disque
11:14 Mi Dec 2023 22:38:53.346 # Redis est maintenant prêt à quitter, au revoir...

ÉCHEC
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle install --retry 3 --jobs 4' a échoué avec le retour #&lt;Process::Status: pid 518 exit 5&gt;
Emplacement de l'échec : /usr/local/lib/ruby/gems/2.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {"cd"=&gt;"$home", "hook"=&gt;"bundle_exec", "cmd"=&gt;["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'"]}
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.
0cbe5f54cc4be6fd4475fdad523d75c5cd36cded997f6b3cab34e4e908896
==================== FIN DU LOG DE RECONSTRUCTION ====================
Échec de la reconstruction de l'application.

Vérification de votre nom de domaine...
Connexion à forospyware.com réussie.
Vous devriez probablement supprimer tous les plugins non standard et reconstruire.
Tentative de redémarrage du conteneur existant...
Architecture x86_64 détectée.

démarrage du conteneur existant
+ /usr/bin/docker start app
Réponse d'erreur du démon : le pilote a échoué à la programmation de la connectivité externe sur le point de terminaison app (1a8bb1f1f3267284b55ed1620db877010454d9932112d71de80bac3e5ff7d7) : Erreur de démarrage du proxy userland : listen tcp 0.0.0.0:443 : bind : l'adresse est déjà utilisée
Erreur : échec du démarrage des conteneurs : app
Échec du redémarrage du conteneur.

==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
Aucun plugin non officiel détecté.

Voir https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb pour la liste officielle.

==================== VERSION DE DISCOURSE ====================
Version de Discourse sur forospyware.com : NON TROUVÉE
Version de Discourse sur localhost : NON TROUVÉE

==================== INFORMATIONS SUR LA MÉMOIRE ====================
RAM (Mo) : 8174

total utilisé libre partagé tampon/cache disponible
Mem: 7983 195 4275 80 3512 7326
Swap: 0 0 0

==================== VÉRIFICATION DE L'ESPACE DISQUE ====================
-- Espace disque du système d'exploitation
Système de fichiers Taille Utilisé Disponible Util% Monté sur
/dev/vda1 155G 107G 49G 69% /

==================== INFORMATIONS SUR LE DISQUE ====================
Disque /dev/vda : 160 Gio, 171798691840 octets, 335544320 secteurs
Unités : secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique) : 512 octets / 512 octets
Taille d'E/S (minimale/optimale) : 512 octets / 512 octets
Type de table de partitions : gpt
Identifiant du disque : 603625F3-7AE2-40CB-B05E-08D7EAD257E4

Périphérique Début Fin Secteurs Taille Type
/dev/vda1 227328 335544286 335316959 159.9G Système de fichiers Linux
/dev/vda14 2048 10239 8192 4M Démarrage BIOS
/dev/vda15 10240 227327 217088 106M Données de base Microsoft

Les entrées de la table des partitions ne sont pas dans l'ordre du disque.
==================== FIN DES INFORMATIONS SUR LE DISQUE ====================

==================== TEST DE COURRIER ====================
Pour un test robuste, obtenez une adresse sur http://www.mail-tester.com/
Ou envoyez simplement un message de test à vous-même.
Adresse e-mail pour le test de courrier ? ('n' pour ignorer) [ ]: n
Test de courrier ignoré.
Remplacement : SMTP_PASSWORD
Remplacement : LETSENCRYPT_ACCOUNT_EMAIL
Remplacement : DEVELOPER_EMAILS
Remplacement : DISCOURSE_DB_PASSWORD
Remplacement : Envoi de mail à

==================== TERMINÉ ! ====================
Vous pouvez examiner la sortie de ce script avec
LESS=-Ri less /tmp/discourse-debug.txt


MAIS D'ABORD, assurez-vous de connaître les trois premières commandes ci-dessous !!!

Commandes à connaître lors de la visualisation du fichier avec la commande ci-dessus (appelée 'less') :
q -- quitter
/ -- rechercher le mot 'error'
n -- rechercher l'occurrence suivante
N -- aller à la

Vous devez partager la première partie du journal de build. La partie qui inclut la ligne bundle install.

Voulez-vous dire cette partie ? - désolé, il est très difficile de se déplacer et de voir tout le code avec la console DigitalOcean.

Pourriez-vous examiner le journal et indiquer où se trouvent les erreurs ? Celle de la fin ne devrait pas être la seule.

Si cela vous pose trop de problèmes, fournir le journal entier convient aussi.

Il semble que ce soit l’échec critique :

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.

Pourriez-vous fournir ce fichier journal ? (/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log)

Jay a eu le même problème Rebuild failure: "extconf failed, exit code 1" -- due to old Docker?, mais je ne sais pas s’il a finalement résolu le problème.

@TroyaNO Juste au cas où, pouvez-vous essayer de taper git pull avant de réessayer ./launcher rebuild app ?

1 « J'aime »

J’ai décidé que c’était un vieux Docker, bien que cela n’ait pas vraiment de sens.

Mais je parie que cela est sur la même VM depuis 2018 et que le système d’exploitation est obsolète.

Alors ce que je ferais, c’est de lancer une nouvelle goutte et de Déplacer un site Discourse vers un autre VPS avec rsync.

1 « J'aime »