La mise à jour de Discourse échoue constamment

Aujourd’hui, j’ai essayé d’exécuter une mise à jour et la reconstruction échoue continuellement. J’ai également supprimé tous les plugins non officiels, mais je ne sais pas quoi faire d’autre.

Voici le message d’erreur

Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 134

Sous ce message d’erreur se trouve le texte ** ÉCHEC DU LANCEMENT ** faites défiler vers le haut et recherchez les messages d'erreur précédents, il peut y en avoir plus d'un.

Alors… faites défiler vers le haut et recherchez les messages d’erreur précédents.

Désolé, j’ai collé le mauvais élément :

impossible de recevoir les données du client : connexion réinitialisée par l'homologue
Abandonné (noyau vidé)
I, [2022-07-04T09:24:39.336838 #1]  INFO -- : 
I, [2022-07-04T09:24:39.337289 #1]  INFO -- : Arrêt des processus asynchrones
I, [2022-07-04T09:24:39.337528 #1]  INFO -- : Envoi de INT à HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
2022-07-04 09:24:39.337 UTC [42] LOG:  demande d'arrêt rapide reçue
I, [2022-07-04T09:24:39.337594 #1]  INFO -- : Envoi de TERM à exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1656926679) SIGTERM reçu, planification de l'arrêt...
103:M 04 juil. 2022 09:24:39.373 # Arrêt demandé par l'utilisateur...
103:M 04 juil. 2022 09:24:39.373 * Sauvegarde du dernier instantané RDB avant la sortie.
2022-07-04 09:24:39.441 UTC [42] LOG:  annulation de toutes les transactions actives
2022-07-04 09:24:39.447 UTC [42] LOG:  le processus d'arrière-plan « logical replication launcher » (PID 51) s'est terminé avec le code de sortie 1
2022-07-04 09:24:39.448 UTC [46] LOG:  arrêt en cours
2022-07-04 09:24:39.925 UTC [42] LOG:  le système de base de données est arrêté

Pouvez-vous également coller quelques lignes au-dessus de cela s’il vous plaît ?

J’espère que ceux-ci suffiront, mais faites-moi savoir si vous en avez besoin de plus :

7f7ec07f9000-7f7ec07fd000 rw-p 00000000 00:00 0 
7f7ec07fe000-7f7ec07ff000 r--p 00000000 00:38 43787088                   /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f7ec07ff000-7f7ec0800000 r-xp 00001000 00:38 43787088                   /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f7ec0800000-7f7ec0801000 r--p 00002000 00:38 43787088                   /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f7ec0801000-7f7ec0802000 r--p 00002000 00:38 43787088                   /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f7ec0802000-7f7ec0803000 rw-p 00003000 00:38 43787088                   /usr/local/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f7ec0803000-7f7ec0830000 r--p 00000000 00:38 43659503                   /usr/local/lib/libruby.so.2.7.6
7f7ec0830000-7f7ec0a43000 r-xp 0002d000 00:38 43659503                   /usr/local/lib/libruby.so.2.7.6
7f7ec0a43000-7f7ec0b3b000 r--p 00240000 00:38 43659503                   /usr/local/lib/libruby.so.2.7.6
7f7ec0b3b000-7f7ec0b3c000 ---p 00338000 00:38 43659503                   /usr/local/lib/libruby.so.2.7.6
7f7ec0b3c000-7f7ec0b42000 r--p 00338000 00:38 43659503                   /usr/local/lib/libruby.so.2.7.6
7f7ec0b42000-7f7ec0b45000 rw-p 0033e000 00:38 43659503                   /usr/local/lib/libruby.so.2.7.6
7f7ec0b45000-7f7ec0b62000 rw-p 00000000 00:00 0 
7f7ec0b62000-7f7ec0b63000 r--p 00000000 00:38 39719923                   /lib/x86_64-linux-gnu/ld-2.31.so
7f7ec0b63000-7f7ec0b83000 r-xp 00001000 00:38 39719923                   /lib/x86_64-linux-gnu/ld-2.31.so
7f7ec0b83000-7f7ec0b8b000 r--p 00021000 00:38 39719923                   /lib/x86_64-linux-gnu/ld-2.31.so
7f7ec0b8b000-7f7ec0b8c000 r-xp 00000000 00:00 0 
7f7ec0b8c000-7f7ec0b8d000 r--p 00029000 00:38 39719923                   /lib/x86_64-linux-gnu/ld-2.31.so
7f7ec0b8d000-7f7ec0b8e000 rw-p 0002a000 00:38 39719923                   /lib/x86_64-linux-gnu/ld-2.31.so
7f7ec0b8e000-7f7ec0b8f000 rw-p 00000000 00:00 0 
7ffdf35f7000-7ffdf3df6000 rw-p 00000000 00:00 0                          [stack]
7ffdf3dfb000-7ffdf3dfe000 r--p 00000000 00:00 0                          [vvar]
7ffdf3dfe000-7ffdf3dff000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]


2022-07-04 09:24:39.333 UTC [892] discourse@discourse LOG:  could not receive data from client: Connection reset by peer
Aborted (core dumped)
I, [2022-07-04T09:24:39.336838 #1]  INFO -- : 
I, [2022-07-04T09:24:39.337289 #1]  INFO -- : Terminating async processes
I, [2022-07-04T09:24:39.337528 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
2022-07-04 09:24:39.337 UTC [42] LOG:  received fast shutdown request
I, [2022-07-04T09:24:39.337594 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1656926679) Received SIGTERM scheduling shutdown...
103:M 04 Jul 2022 09:24:39.373 # User requested shutdown...
103:M 04 Jul 2022 09:24:39.373 * Saving the final RDB snapshot before exiting.
2022-07-04 09:24:39.441 UTC [42] LOG:  aborting any active transactions
2022-07-04 09:24:39.447 UTC [42] LOG:  background worker \"logical replication launcher\" (PID 51) exited with exit code 1
2022-07-04 09:24:39.448 UTC [46] LOG:  shutting down
2022-07-04 09:24:39.925 UTC [42] LOG:  database system is shut down
103:M 04 Jul 2022 09:24:40.378 * DB saved on disk
103:M 04 Jul 2022 09:24:40.378 # Redis is now ready to exit, by

Aïe.

Parlez-moi davantage de cette installation. S’agit-il d’une installation standard ? Sur quel type de matériel tentez-vous de le faire ?

Initialement, j’ai essayé de mettre à jour le forum via le gestionnaire Docker aujourd’hui (il y avait onze mises à jour). J’avais déjà mis à jour vers la version 2.9.0 beta6 vendredi dernier et le forum fonctionne sans problème depuis trois ans sur le même serveur :

Il fonctionne sur un serveur dédié avec ces spécifications :

  • AMD Opteron 4180
  • 6 x 2,6 GHz
  • 16 Go de RAM
  • 2 x 1 To SSD
    (Ubuntu 20.04 LTS)

EDIT : Il y a plus qu’assez d’espace sur le serveur.

Je suis désolé, je suis bloqué ici, j’espère que quelqu’un d’autre a une idée.

Merci quand même pour vos efforts.

Si cela peut aider, j’ai également trouvé cet avertissement :

I, [2022-07-04T11:08:15.901173 #1]  INFO -- : cd /var/www/discourse & [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production & yarn cache clean'
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" a une dépendance pair non satisfaite "lodash@>=4".
warning " > @mixer/parallel-prettier@2.0.1" a une dépendance pair non satisfaite "prettier@^2.0.0".

Avez-vous redémarré récemment ? Peut-être avez-vous installé des mises à jour qui nécessitent un redémarrage ? Je mettrais à jour le système d’exploitation et redémarrerais ensuite. (Parce que je n’ai pas d’idées concrètes)

Oui, j’ai redémarré vendredi, suite à une mise à jour du noyau, et j’ai aussi essayé plus tôt dans la journée pour voir si cela pouvait résoudre le problème.

Ce n’est peut-être pas un indice, mais j’ai vu exactement la même erreur lors de l’installation d’un plugin. Maintenant, je ne suis plus sûr si ce plugin est la cause première.

https://meta.discourse.org/t/web-3-0-features/203321/21?u=marcp

Eh bien, j’ai désinstallé tous les plugins non officiels, mais je vais continuer à enquêter dans cette direction.

Non, vous obtenez une erreur différente. Vous devriez remonter pour trouver l’erreur d’origine.

J’espère vraiment que quelqu’un pourra m’aider. J’ai essayé de vider le cache, de supprimer les images de conteneur et de reconstruire avec une image plus ancienne, et tout cela aboutit à la même erreur.

Il serait beaucoup plus utile de coller le journal entier plutôt que des extraits.\n\nPar exemple, on ne sait pas exactement ce qui échoue ; il pourrait s’agir de la base de données ou d’une tâche Rake.\n\nS’il est trop long, n’hésitez pas à le poster compressé (gzippé). Si vous n’êtes pas sûr de la manière de supprimer les informations sensibles (s’il y en a), vous pouvez me l’envoyer par message privé et je verrai ce que je peux trouver.

Je suis en train de le créer.

La partie clé de la sortie semble être « Illegal instruction » :

I, [2022-07-04T21:01:40.452409 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
2022-07-04 21:01:46.756 UTC [932] discourse@discourse LOG:  duration: 120.094 ms  bind <unnamed>: SELECT t.oid, t.typname
        FROM pg_type as t
        WHERE t.typname IN ('int2', 'int4', 'int8', 'oid', 'float4', 'float8', 'numeric', 'bool', 'timestamp', 'timestamptz')


2022-07-04 21:01:47.069 UTC [932] discourse@discourse LOG:  duration: 100.781 ms  statement: SELECT name, data_type, value FROM site_settings
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-4.2.0/lib/message_bus/codec/json.rb:11: [BUG] Illegal instruction at 0x00007f90039e1339
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux]

La même « instruction illégale » est également présente à la fin du journal Unicorn (juste avant que les choses ne se cassent).

(J’espère que Bryan pourra fournir la sortie complète si nécessaire).

Edit : La sortie complète arrive, Discourse ne me permet pas de la télécharger.

Edit 2 : Bitwarden Send (disponible pendant 7 jours).