Échec de la mise à niveau de l'instance discourse vers le 15 février 2022

La mise à jour depuis Commits · discourse/discourse · GitHub vers la dernière version a provoqué la mise hors ligne du site. Voici des segments notables des journaux :

I, [2022-02-15T05:27:48.995821 #1]  INFO -- : Remplacement de (?-mix:^host.*all.*all.*127.*$) par host all all 0.0.0.0/0 md5 dans /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-15T05:27:48.997476 #1]  INFO -- : Remplacement de (?-mix:^host.*all.*all.*::1\/128.*$) par host all all ::/0 md5 dans /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-15T05:27:48.998553 #1]  INFO -- : > 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
I, [2022-02-15T05:27:49.003918 #1]  INFO -- : > sleep 5
2022-02-15 05:27:49.151 UTC [41] LOG:  démarrage de PostgreSQL 13.5 (Debian 13.5-1.pgdg110+1) sur x86_64-pc-linux-gnu, compilé par gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2022-02-15 05:27:49.152 UTC [41] LOG:  écoute sur l'adresse IPv4 "0.0.0.0", port 5432
2022-02-15 05:27:49.152 UTC [41] LOG:  écoute sur l'adresse IPv6 "::", port 5432
2022-02-15 05:27:49.162 UTC [41] LOG:  écoute sur le socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2022-02-15 05:27:49.184 UTC [44] LOG:  le système de base de données a été arrêté le 2022-02-15 00:12:32 UTC
2022-02-15 05:27:49.209 UTC [41] LOG:  le système de base de données est prêt à accepter les connexions
I, [2022-02-15T05:27:54.013563 #1]  INFO -- : 
I, [2022-02-15T05:27:54.015179 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2022-02-15 05:27:54.259 UTC [54] postgres@postgres ERROR:  la base de données "discourse" existe déjà
2022-02-15 05:27:54.259 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: erreur : la création de la base de données a échoué : ERROR:  la base de données "discourse" existe déjà
I, [2022-02-15T05:27:54.270626 #1]  INFO -- : 
I, [2022-02-15T05:27:54.272627 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2022-02-15 05:27:54.425 UTC [58] postgres@discourse ERROR:  le rôle "discourse" existe déjà
2022-02-15 05:27:54.425 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  le rôle "discourse" existe déjà
I, [2022-02-15T05:27:54.431376 #1]  INFO -- : 
I, [2022-02-15T05:27:54.431915 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2022-02-15T05:27:54.533010 #1]  INFO -- : GRANT
I, [2022-02-15T05:27:55.303411 #1]  INFO -- : > echo redis installé
I, [2022-02-15T05:27:55.310858 #1]  INFO -- : redis installé

I, [2022-02-15T05:27:55.312551 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2022-02-15T05:27:55.323276 #1]  INFO -- : logfile ""

I, [2022-02-15T05:27:55.324362 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2022-02-15T05:27:55.329352 #1]  INFO -- : > sleep 10
102:C 15 Feb 2022 05:27:55.343 # oO0OoO0OoO0Oo Redis démarre oO0OoO0OoO0Oo
102:C 15 Feb 2022 05:27:55.343 # Version Redis=6.2.6, bits=64, commit=00000000, modifié=0, pid=102, vient de démarrer
102:C 15 Feb 2022 05:27:55.343 # Configuration chargée
102:M 15 Feb 2022 05:27:55.346 * horloge monotone : POSIX clock_gettime
102:M 15 Feb 2022 05:27:55.349 * Mode d'exécution=standalone, port=6379.
102:M 15 Feb 2022 05:27:55.350 # AVERTISSEMENT : Le paramètre TCP backlog de 511 ne peut pas être appliqué car /proc/sys/net/core/somaxconn est défini à la valeur inférieure de 128.
102:M 15 Feb 2022 05:27:55.350 # Serveur initialisé
102:M 15 Feb 2022 05:27:55.350 # AVERTISSEMENT : overcommit_memory est défini à 0 ! La sauvegarde en arrière-plan peut échouer en cas de faible mémoire. Pour résoudre ce problème, ajoutez 'vm.overcommit_memory = 1' dans /etc/sysctl.conf, puis redémarrez ou exécutez la commande 'sysctl vm.overcommit_memory=1' pour que cela prenne effet.
102:M 15 Feb 2022 05:27:55.352 * Chargement du fichier RDB produit par la version 6.2.6
102:M 15 Feb 2022 05:27:55.352 * Âge du RDB : 18923 secondes
102:M 15 Feb 2022 05:27:55.352 * Utilisation de la mémoire du RDB lors de sa création : 133,51 Mo
102:M 15 Feb 2022 05:27:55.912 # Chargement du RDB terminé, clés chargées : 7294, clés expirées : 127.
102:M 15 Feb 2022 05:27:55.912 * Base de données chargée depuis le disque : 0,560 secondes
102:M 15 Feb 2022 05:27:55.912 * Prêt à accepter les connexions
I, [2022-02-15T05:28:05.336548 #1]  INFO -- : 
I, [2022-02-15T05:28:05.337696 #1]  INFO -- : > thpoff echo "thpoff est installé !"
I, [2022-02-15T05:28:05.349534 #1]  INFO -- : thpoff est installé !

I, [2022-02-15T05:28:05.349959 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2022-02-15T05:28:05.496038 #1]  INFO -- : 
I, [2022-02-15T05:28:05.496604 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2022-02-15T05:28:05.617847 #1]  INFO -- : 
I, [2022-02-15T05:28:05.618268 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2022-02-15T05:28:05.754370 #1]  INFO -- : 
I, [2022-02-15T05:28:05.755864 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2022-02-15T05:28:05.763371 #1]  INFO -- : 
I, [2022-02-15T05:28:05.773372 #1]  INFO -- : Fichier > /etc/cron.d/anacron  chmod:   chown: 
I, [2022-02-15T05:28:05.785161 #1]  INFO -- : Fichier > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2022-02-15T05:28:05.801026 #1]  INFO -- : Fichier > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2022-02-15T05:28:05.816469 #1]  INFO -- : Fichier > /etc/service/nginx/run  chmod: +x  chown: 
I, [2022-02-15T05:28:05.828667 #1]  INFO -- : Fichier > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2022-02-15T05:28:05.841176 #1]  INFO -- : Fichier > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2022-02-15T05:28:05.841464 #1]  INFO -- : Remplacement de # postgres par sv start postgres || exit 1 dans /etc/service/unicorn/run
I, [2022-02-15T05:28:05.842241 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2022-02-15T05:28:05.847862 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
130:C 15 Feb 2022 05:28:05.853 # oO0OoO0OoO0Oo Redis démarre oO0OoO0OoO0Oo
130:C 15 Feb 2022 05:28:05.854 # Version Redis=6.2.6, bits=64, commit=00000000, modifié=0, pid=130, vient de démarrer
130:C 15 Feb 2022 05:28:05.855 # Configuration chargée
130:M 15 Feb 2022 05:28:05.857 * horloge monotone : POSIX clock_gettime
130:M 15 Feb 2022 05:28:05.858 # Avertissement : Impossible de créer le socket TCP d'écoute du serveur *:6379 : bind : Adresse déjà utilisée
130:M 15 Feb 2022 05:28:05.859 # Échec de l'écoute sur le port 6379 (TCP), annulation.
Mise à jour des fichiers : 100 % (30947/30947), terminé.
I, [2022-02-15T05:28:13.624544 #1]  INFO -- : HEAD est maintenant sur e1367cde I18N : Amélioration du texte des messages d'erreur sur les mots bloqués (#15741)
I, [2022-02-15T05:29:36.205328 #1]  INFO -- : > cd /var/www/discourse && [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean'
warning La résolution du champ "lodash@4.17.21" est incompatible avec la version demandée "lodash@4.17.15".
warning " > @mixer/parallel-prettier@2.0.1" a une dépendance peer non satisfaite "prettier@^2.0.0".
I, [2022-02-15T05:33:01.692668 #1]  INFO -- : yarn install v1.22.17
[1/5] Validation du package.json...
[2/5] Résolution des packages...
[3/5] Récupération des packages...
[4/5] Liaison des dépendances...
[5/5] Construction des nouveaux packages...
$ yarn --cwd app/assets/javascripts/discourse
yarn install v1.22.17
[1/4] Résolution des packages...
[2/4] Récupération des packages...
[3/4] Liaison des dépendances...
[4/4] Construction des nouveaux packages...
success Fichier de verrouillage enregistré.
Terminé en 133,99 s.
Terminé en 195,02 s.
yarn cache v1.22.17
success Cache vidé.
Terminé en 9,35 s.

I, [2022-02-15T05:33:01.697905 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2022-02-15T05:33:12.324517 #1]  INFO -- : discourse-github est déjà à la dernière version compatible
discourse-solved est déjà à la dernière version compatible
discourse-chat est déjà à la dernière version compatible

I, [2022-02-15T05:33:12.325695 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
102:M 15 Feb 2022 05:33:37.418 * 100 changements en 300 secondes. Sauvegarde en cours...
102:M 15 Feb 2022 05:33:37.423 * Sauvegarde en arrière-plan démarrée par pid 1143
1143:C 15 Feb 2022 05:33:38.349 * Base de données sauvegardée sur le disque
1143:C 15 Feb 2022 05:33:38.352 * RDB : 2 Mo de mémoire utilisés par copy-on-write
102:M 15 Feb 2022 05:33:38.429 * Sauvegarde en arrière-plan terminée avec succès
I, [2022-02-15T05:33:38.994811 #1]  INFO -- : gem install sawyer -v 0.8.2 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
sawyer-0.8.2 installé avec succès
1 gem installé
gem install octokit -v 4.21.0 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
octokit-4.21.0 installé avec succès
1 gem installé
== 20220214224506 ResetCustomEmojiPostBakesVersionSecureFix : migration en cours ========
== 20220214224506 ResetCustomEmojiPostBakesVersionSecureFix : migré (0,0099 s) 

== 20220214233625 AddBounceErrorCodeToEmailLog : migration en cours =====================
-- add_column(:email_logs, :bounce_error_code, :string, {:null=true})
   -> 0,0103 s
== 20220214233625 AddBounceErrorCodeToEmailLog : migré (0,0121 s) ============


I, [2022-02-15T05:33:38.996639 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Construction en cours
- Construction en cours
- construction en cours... 
102:M 15 Feb 2022 05:38:39.069 * 100 changements en 300 secondes. Sauvegarde en cours...
102:M 15 Feb 2022 05:38:39.080 * Sauvegarde en arrière-plan démarrée par pid 1213
1213:C 15 Feb 2022 05:38:39.863 * Base de données sauvegardée sur le disque
1213:C 15 Feb 2022 05:38:39.867 * RDB : 2 Mo de mémoire utilisés par copy-on-write
102:M 15 Feb 2022 05:38:39.883 * Sauvegarde en arrière-plan terminée avec succès
[WARN] (broccoli-terser-sourcemap) La minification de "assets/discourse.js" a pris : 35001 ms (plus de 20 000 ms)
Tué
error La commande a échoué avec le code de sortie 137.
I, [2022-02-15T05:52:50.058283 #1]  INFO -- : yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
AVERTISSEMENT : Node v16.13.2 n'est pas testé avec Ember CLI sur votre plateforme. Nous vous recommandons d'utiliser la version la plus récente de « Active LTS » de Node.js. Consultez https://git.io/v7S5n pour plus de détails.
DÉPRÉCIATION : L'intégration de jQuery dans Ember a été dépréciée et sera supprimée avec Ember 4.0. Vous pouvez soit choisir de ne pas utiliser jQuery, soit installer l'addon `@ember/jquery` pour fournir l'intégration de jQuery. Veuillez consulter le guide de dépréciation pour plus de détails : https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environnement : production
info Consultez https://yarnpkg.com/en/docs/cli/run pour la documentation sur cette commande.

I, [2022-02-15T05:52:50.072549 #1]  INFO -- : Terminaison des processus asynchrones
I, [2022-02-15T05:52:50.072816 #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: 41
I, [2022-02-15T05:52:50.073275 #1]  INFO -- : Envoi de TERM à exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
102:signal-handler (1644904370) SIGTERM reçu, planification de l'arrêt...
2022-02-15 05:52:50.074 UTC [41] LOG:  demande d'arrêt rapide reçue
2022-02-15 05:52:50.090 UTC [41] LOG:  annulation de toutes les transactions actives
2022-02-15 05:52:50.096 UTC [41] LOG:  l'ouvrier en arrière-plan « logical replication launcher » (PID 50) s'est terminé avec le code de sortie 1
2022-02-15 05:52:50.102 UTC [45] LOG:  arrêt en cours
102:M 15 Feb 2022 05:52:50.118 # Arrêt demandé par l'utilisateur...
102:M 15 Feb 2022 05:52:50.120 * Sauvegarde de l'instantané RDB final avant la sortie.
2022-02-15 05:52:50.248 UTC [41] LOG:  le système de base de données est arrêté
102:M 15 Feb 2022 05:52:51.075 * Base de données sauvegardée sur le disque
102:M 15 Feb 2022 05:52:51.076 # Redis est maintenant prêt à quitter, au revoir...


ÉCHEC
--------------------
Pups::ExecError : cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' a échoué avec le retour #<Process::Status: pid 1144 exit 137>
Emplacement de l'échec : /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
échec d'exécution avec les paramètres {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
1716fd9590e21cdfdaccea0ac6faabd133a6423e1a24ef3b3b5be0e68ce422c9
** É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.

Exécution de discourse-doctor maintenant, et collecte de journaux plus détaillés.

Voici le script de mise à jour que j’ai créé et que j’utilise avec succès depuis plus d’un an :

https://github.com/balupton/dotfiles/blob/master/commands/discourse-upgrader

Il devrait y avoir une erreur plus spécifique au-dessus de « FAILED » si vous faites défiler vers le haut.

Il semble qu’il n’aime pas un thème/composant. Vous voudrez peut-être exécuter ./launcher restart app pour rétablir la version d’avant la reconstruction afin de pouvoir utiliser l’interface utilisateur normale pour désactiver celui en question avant de tenter une autre mise à niveau. Le défilement vers le haut vous a-t-il donné un indice sur lequel ?

Le seul journal significatif de brew doctor était le suivant :

I, [2022-02-15T06:14:34.823778 #1]  INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building...
Killed
error Command failed with exit code 137.
I, [2022-02-15T06:25:24.689000 #1]  INFO -- : yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v16.13.2 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
DEPRECATION: The integration of jQuery into Ember has been deprecated and will be removed with Ember 4.0. You can either opt-out of using jQuery, or install the `@ember/jquery` addon to provide the jQuery integration. Please consult the deprecation guide for further details: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I, [2022-02-15T06:25:24.701625 #1]  INFO -- : Terminating async processes
I, [2022-02-15T06:25:24.702927 #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
I, [2022-02-15T06:25:24.703765 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1644906324) Received SIGTERM scheduling shutdown...
2022-02-15 06:25:24.710 UTC [42] LOG:  received fast shutdown request
2022-02-15 06:25:24.741 UTC [42] LOG:  aborting any active transactions
103:M 15 Feb 2022 06:25:24.777 # User requested shutdown...
103:M 15 Feb 2022 06:25:24.777 * Saving the final RDB snapshot before exiting.
2022-02-15 06:25:24.796 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-02-15 06:25:24.797 UTC [46] LOG:  shutting down
2022-02-15 06:25:25.023 UTC [42] LOG:  database system is shut down
103:M 15 Feb 2022 06:25:26.383 * DB saved on disk
103:M 15 Feb 2022 06:25:26.385 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1146 exit 137>
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"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
a1a2ad7dab631a87852f269d0de01bee80aea384be8a94ba4eb555f1fa5d9094
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to discuss.bevry.me succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (924d10c5f09f04b43e96bd6d1a4a13945cd86ebbb12821a4943914538821b856): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Failed to restart the container.

J’ai mis à jour le message d’origine pour inclure davantage de journaux.
Je relance discourse-doctor, car il a échoué parce que wget était manquant. Je posterai le journal complet une fois cela fait.

Je peux confirmer cela, j’ai essayé sur 3 instances différentes et les builds échouent après avoir atteint l’état ci-dessous.

I, [2022-02-15T07:09:36.714521 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
I, [2022-02-15T07:09:46.598212 #1]  INFO -- :
I, [2022-02-15T07:09:46.599983 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building...
Killed
error Command failed with exit code 137.
I, [2022-02-15T07:30:11.622116 #1]  INFO -- : Checking 'Easy Footer' for 'default'... up to date
Checking 'Discourse Loading Slider' for 'default'... up to date
Checking 'discourse-search-banner' for 'sandbox'... up to date
Checking 'discourse-category-sidebars' for 'sandbox'... up to date
Checking 'Hide Users Column' for 'sandbox'... up to date
Checking 'discourse-sidebar-nav' for 'sandbox'... up to date
Checking 'Dracula Theme' for 'sandbox'... up to date
Checking 'discourse-buttons' for 'tekduke'... yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v16.13.2 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
DEPRECATION: The integration of jQuery into Ember has been deprecated and will be removed with Ember 4.0. You can either opt-out of using jQuery, or install the `@ember/jquery` addon to provide the jQuery integration. Please consult the deprecation guide for further details: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.



FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1034 exit 137>
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"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
49ed46d025f5fe0a3de022b073b507cc3d94f74f96a60fe2d55042d413def454
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Il semble s’agir d’un problème lié à Ember CLI.

Salut @balupton, pourriez-vous essayer de changer EMBER_CLI_PROD_ASSETS: 0 et de reconstruire à nouveau ? J’ai au moins 1 reconstruction réussie après le changement ci-dessus.

Ces semblent être les seuls journaux pertinents qui indiquent un problème :

I, [2022-02-15T07:15:48.531001 #1]  INFO -- : > cd /var/www/discourse & [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production & yarn cache clean'
warning Resolution field "lodash@4.17.21" is incompatible with requested version "lodash@4.17.15"
warning " > @mixer/parallel-prettier@2.0.1" has unmet peer dependency "prettier@^2.0.0".
I, [2022-02-15T07:19:45.453691 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
- Building
- Building
- building... 
Killed
error Command failed with exit code 137.
I, [2022-02-15T07:31:39.549100 #1]  INFO -- : yarn run v1.22.17
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build -prod
WARNING: Node v16.13.2 is not tested against Ember CLI on your platform. We recommend that you use the most-recent "Active LTS" version of Node.js. See https://git.io/v7S5n for details.
DEPRECATION: The integration of jQuery into Ember has been deprecated and will be removed with Ember 4.0. You can either opt-out of using jQuery, or install the `@ember/jquery` addon to provide the jQuery integration. Please consult the deprecation guide for further details: https://emberjs.com/deprecations/v3.x#toc_jquery-apis
Environment: production
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1145 exit 137>
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"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
a262c461f2ae24390cb1397df309c44738cdc2688483d5fb7d52a3fde3155409
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

J’essaierai ça, comment l’appliquer ?

Laissez tomber, j’ai trouvé :

Je vais essayer maintenant.

En regardant le journal des modifications :

Je me demande si c’est ceci :

Comme l’un des logs était :

103:M 15 Feb 2022 06:54:18.720 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

Mémoire insuffisante.

Assurez-vous d’avoir suffisamment de mémoire (virtuelle). 1 Go de mémoire et 2 Go de swap sont probablement trop faibles de nos jours pour une reconstruction.

Oui, ça a fonctionné.

nvim /var/discourse/containers/app.yml
env:
  # ...
  ## Solution de contournement pour : https://meta.discourse.org/t/failed-to-upgrade-discourse-instance-to-feb-15-2022/218204/7?u=balupton
  EMBER_CLI_PROD_ASSETS: 0

Maintenant que Discourse fonctionne, top renvoie actuellement :

KiB Mem : **2041324** total, **287808** free, **1033300** used, **720216** buff/cache
KiB Swap: **0** total, **0** free, **0** used. **581308** avail Mem

Il s’agit du serveur VC1S de Scaleway :

La suggestion dans :

103:M 15 Feb 2022 06:54:18.720 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

Résoudrait-elle également le problème ?

Le VPS dispose de 4 Go de RAM et de 2 Go de Swap.

Vous devez ajouter un peu de swap. Il semble que vous ayez beaucoup d’espace disque, vous pourriez donc en ajouter 2G ou même 3G par sécurité.

La configuration standard de Discourse devrait, je pense, avoir déjà configuré le swap pour vous. Peut-être consulter Créer un fichier swap pour votre serveur Linux

Et pourtant, vous constatez une mémoire insuffisante, c’est inquiétant. Veuillez coller la sortie de votre commande free.

Je remarque que dans mes deux installations (qui n’ont que 1 Go de RAM et 2 Go de swap chacune), j’ai suivi ce conseil à un moment donné et configuré vm.overcommit_memory=1 dans /etc/sysctl.conf. (Cela ne veut pas dire que cela résoudrait le problème actuel.)

Nous allons bientôt supprimer la possibilité de désactiver les assets Ember CLI, alors assurez-vous de résoudre le problème avec votre configuration rapidement. Sinon, cela cassera à nouveau lors d’une future mise à jour.

Vous aurez besoin d’un minimum de 1 Go de RAM + 2 Go de swap (selon notre script d’installation standard https://github.com/discourse/discourse_docker/blob/main/discourse-setup#L199-L203)

C’est effectivement préoccupant - veuillez nous faire savoir ce que vous voyez dans la sortie de free @itsbhanusharma

Salut @david
Voici free

root@discourse:~# free
              total        used        free      shared  buff/cache   available
Mem:        3932016     3747708       87928       12812       96380        9960
Swap:       2097148     1095852     1001296

Avez-vous d’autres processus en cours d’exécution sur le serveur ? Les chiffres « utilisés » semblent assez élevés pour une installation Discourse standard :thinking:

disponible 9960

Ce n’est pas beaucoup :scream:

Combien de licornes utilisez-vous ?

Il s’agit d’une installation Discourse multisite. Il y a quelques conteneurs supplémentaires (par exemple, un récepteur de courrier et un moniteur de disponibilité), mais rien d’extraordinaire.

UNICORN_WORKERS: 4

À quoi ressemble free après un redémarrage ?