Tué lors de l'exécution de bundle exec rake themes:update assets:precompile

 [2024-02-05T07:05:17.407418 #1]  INFO -- : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c 'bundle exec rake db:migrate'
111:M 05 Feb 2024 07:05:31.061 * 100 changements en 300 secondes. Sauvegarde en cours...
111:M 05 Feb 2024 07:05:31.063 * Sauvegarde en arrière-plan démarrée par le processus 3496
3496:C 05 Feb 2024 07:05:31.222 * DB sauvegardé sur disque
3496:C 05 Feb 2024 07:05:31.223 * Fork CoW pour RDB : actuel 1 Mo, pic 1 Mo, moyen 1 Mo
111:M 05 Feb 2024 07:05:31.263 * Sauvegarde en arrière-plan terminée avec succès
I, [2024-02-05T07:05:32.565285 #1]  INFO -- : gem install ruby-openid -v 2.9.2 -i /var/www/discourse/plugins/discourse-steam-login/gems/3.2.2 --no-document --ignore-dependencies --no-user-install
Successfully installed ruby-openid-2.9.2
1 gem installé
gem install rack-openid -v 1.3.1 -i /var/www/discourse/plugins/discourse-steam-login/gems/3.2.2 --no-document --ignore-dependencies --no-user-install
Successfully installed rack-openid-1.3.1
1 gem installé
gem install omniauth-openid -v 1.0.1 -i /var/www/discourse/plugins/discourse-steam-login/gems/3.2.2 --no-document --ignore-dependencies --no-user-install
Successfully installed omniauth-openid-1.0.1
1 gem installé
gem install omniauth-steam -v 1.0.6 -i /var/www/discourse/plugins/discourse-steam-login/gems/3.2.2 --no-document --ignore-dependencies --no-user-install
Successfully installed omniauth-steam-1.0.6
1 gem installé

I, [2024-02-05T07:05:32.565781 #1]  INFO -- : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c 'bundle exec rake themes:update assets:precompile'
Killed
error La commande a échoué avec le code de sortie 137.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse \u0026\u0026 su discourse -c 'bundle exec rake themes:update assets:precompile' a échoué avec le retour #\u003cProcess::Status: pid 3497 exit 137\u003e
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {\"cd\"=\u003e\"$home\", \"hook\"=\u003e\"assets_precompile\", \"cmd\"=\u003e[\"su discourse -c 'bundle exec rake themes:update assets:precompile'\"]}\nbootstrap a échoué avec le code de sortie 137
** É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.
1901476353b23c1963cfaecc063b5cbf4c367bb3dce9b95c5bdb39faa7474682
==================== FIN DU JOURNAL DE RECONSTRUCTION ====================
Impossible de reconstruire l'application.

mon app.yml :

## ceci est le modèle de conteneur Docker tout-en-un et autonome pour Discourse
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ TRÈS PRUDENT LORS DE LA MODIFICATION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire


templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Décommentez la ligne suivante pour activer l'écoute IPv6
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## voir https://meta.discourse.org/t/17247 pour plus de détails
expose:
  - "8880:80"   # http
  - "4443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Définissez db_shared_buffers à un maximum de 25 % de la mémoire totale.
  ## sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
  db_shared_buffers: "1024MB"

  ## peut améliorer les performances de tri, mais augmente l'utilisation de la mémoire par connexion
  #db_work_mem: "40MB"

  ## Quelle révision Git ce conteneur doit-il utiliser ? (par défaut : tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  NODE_OPTIONS: "--max-old-space-size=2048"
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
  ## sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
  UNICORN_WORKERS: 4

  ## TODO : Le nom de domaine auquel cette instance Discourse répondra
  ## Obligatoire. Discourse ne fonctionnera pas avec un simple numéro IP.
  DISCOURSE_HOSTNAME: 'www.palworld.hk'

  ## Décommentez si vous souhaitez que le conteneur soit démarré avec le même
  ## nom d'hôte (-h option) que celui spécifié ci-dessus (par défaut « $hostname-$config »)
  #DOCKER_USE_HOSTNAME: true

  ## TODO : Liste des e-mails séparés par des virgules qui seront rendus administrateurs et développeurs
  ## lors de la première inscription, par exemple « user1@example.com,user2@example.com »
  DISCOURSE_DEVELOPER_EMAILS: 'paojiao@palworld.hk'

  ## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
  # ADRESSE SMTP, nom d'utilisateur et mot de passe sont requis
  # ATTENTION, le caractère '#' dans le mot de passe SMTP peut causer des problèmes !
  DISCOURSE_SMTP_ADDRESS: smtp.exmail.qq.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: noreply@palworld.hk
  DISCOURSE_SMTP_PASSWORD: BV6n8BBhpDaZ5DZQ
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (facultatif, par défaut true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (requis par certains fournisseurs)
  DISCOURSE_NOTIFICATION_EMAIL: noreply@palworld.hk    # (adresse à partir de laquelle envoyer les notifications)

  ## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## L'adresse CDN http ou https pour cette instance Discourse (configurée pour tirer)
  ## voir https://meta.discourse.org/t/14857 pour plus de détails
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## La clé d'API de géolocalisation Maxmind pour la recherche d'adresses IP
  ## voir https://meta.discourse.org/t/-/137387/23 pour plus de détails
  DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Les plugins vont ici
## voir https://meta.discourse.org/t/19157 pour plus de détails
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-steam-login.git
          - git clone https://github.com/discourse/discourse-gamification.git
          - git clone https://github.com/whitewatercn/discourse-embed-bilibili.git
          - git clone https://github.com/communiteq/discourse-private-topics.git
          - git clone https://github.com/discourse/discourse-signup-banner.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-topic-voting.git
          - git clone https://github.com/paviliondev/discourse-tickets.git

## Toutes les commandes personnalisées à exécuter après la construction
run:
  - exec: echo "Début des commandes personnalisées"
  ## Si vous souhaitez définir l'adresse e-mail « De » pour votre première inscription, décommentez et modifiez :
  ## Après avoir reçu le premier e-mail d'inscription, re-commentez la ligne. Elle ne doit s'exécuter qu'une seule fois.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fin des commandes personnalisées"

J’ai essayé

egrep -i 'killed process' /var/log/messages

mais il n’y a pas eu de réponse.

Il s’agit d’une erreur de « mémoire insuffisante ». Il y a eu quelques sujets à ce sujet récemment. Vous devrez peut-être améliorer vos spécifications, bien qu’il y ait également quelques choses que vous pourriez essayer avant d’apporter une modification permanente :

2 « J'aime »

Euh, mais la configuration de mon serveur est 4C4G

Quelle quantité de swap avez-vous ?

Progrès récents : Après avoir supprimé un thème précédemment installé [Graceful], j’ai réussi à le reconstruire.

Juste pour information, au cas où la suppression de ce thème n’était pas un facteur crucial, des rapports font état d’erreurs intermittentes de type 137. Ainsi, parfois cela échouera quelques fois, puis une autre fois cela pourra réussir même si aucun changement n’a été effectué.

Mais si vous la rencontrez à nouveau, vous aurez au moins une idée de ce qui peut être fait. :+1:

2 « J'aime »