Abgestürzt beim 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 Änderungen in 300 Sekunden. Speichere...
111:M 05 Feb 2024 07:05:31.063 * Hintergrundspeicherung gestartet von PID 3496
3496:C 05 Feb 2024 07:05:31.222 * DB auf Festplatte gespeichert
3496:C 05 Feb 2024 07:05:31.223 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 1 MB
111:M 05 Feb 2024 07:05:31.263 * Hintergrundspeicherung erfolgreich beendet
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
Erfolgreich installiert ruby-openid-2.9.2
1 Gem installiert
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
Erfolgreich installiert rack-openid-1.3.1
1 Gem installiert
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
Erfolgreich installiert omniauth-openid-1.0.1
1 Gem installiert
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
Erfolgreich installiert omniauth-steam-1.0.6
1 Gem installiert

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
Fehler Befehl mit Exit-Code 137 fehlgeschlagen.
FEHLGESCHLAGEN
--------------------
Pups::ExecError: cd /var/www/discourse \u0026\u0026 su discourse -c 'bundle exec rake themes:update assets:precompile' fehlgeschlagen mit Rückgabe #\u003cProcess::Status: pid 3497 exit 137\u003e
Ort des Fehlers: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fehlgeschlagen mit den Parametern {\"cd\"=\u003e\"$home\", \"hook\"=\u003e\"assets_precompile\", \"cmd\"=\u003e[\"su discourse -c 'bundle exec rake themes:update assets:precompile'\"]}\nBootstrap fehlgeschlagen mit Exit-Code 137
** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
1901476353b23c1963cfaecc063b5cbf4c367bb3dce9b95c5bdb39faa7474682
==================== END REBUILD LOG ====================
App konnte nicht neu aufgebaut werden.

Meine app.yml:

## Dies ist die All-in-One, eigenständige Discourse Docker Container-Vorlage
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen
## /var/discourse/launcher rebuild app
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SEHR, SEHR EMPFINDLICH GEGENÜBER FEHLERN BEI LEERZEICHEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren


templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Kommentar entfernen, um den IPv6-Listener zu aktivieren
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Kommentar entfernen, wenn Sie Lets Encrypt (https) hinzufügen möchten
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## Welche TCP/IP-Ports soll dieser Container bereitstellen?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
  - "8880:80"   # http
  - "4443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Setzen Sie db_shared_buffers auf maximal 25% des Gesamtspeichers.
  ## wird beim Booten automatisch basierend auf dem erkannten RAM gesetzt, oder Sie können überschreiben
  db_shared_buffers: "1024MB"

  ## kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung
  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: 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

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
  ## wird beim Booten automatisch basierend auf den erkannten CPUs gesetzt, oder Sie können überschreiben
  UNICORN_WORKERS: 4

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird
  ## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.
  DISCOURSE_HOSTNAME: 'www.palworld.hk'

  ## Kommentar entfernen, wenn Sie möchten, dass der Container mit demselben
  ## Hostnamen (-h Option) wie oben angegeben gestartet wird (Standard "hostname-config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Komma-getrennte Liste von E-Mails, die bei der Erstanmeldung Administrator und Entwickler werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'paojiao@palworld.hk'

  ## TODO: Der SMTP-Mailserver, der zum Überprüfen neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  # SMTP ADRESSE, Benutzername und Passwort sind erforderlich
  # ACHTUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!
  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           # (optional, Standard true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (von einigen Anbietern erforderlich)
  DISCOURSE_NOTIFICATION_EMAIL: noreply@palworld.hk    # (Adresse, von der Benachrichtigungen gesendet werden)

  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, Kommentar entfernen, um ein kostenloses SSL-Zertifikat zu erhalten
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## Die HTTP- oder HTTPS-CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## siehe https://meta.discourse.org/t/14857 für Details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## Der MaxMind-Geolocation-IP-Adressschlüssel für die IP-Adresssuche
  ## siehe https://meta.discourse.org/t/-/137387/23 für Details
  DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins gehen hier
## siehe https://meta.discourse.org/t/19157 für Details
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

## Alle benutzerdefinierten Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn Sie die 'Von'-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, Kommentar entfernen und ändern:
  ## Nach Erhalt der ersten Registrierungs-E-Mail die Zeile wieder auskommentieren. Sie muss nur einmal ausgeführt werden.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

Ich habe versucht

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

aber es gab keine Antwort.

Dies ist ein „out of memory“-Fehler. Es gab in letzter Zeit einige Themen dazu. Möglicherweise müssen Sie Ihre Spezifikationen aufrüsten, obwohl es auch ein paar Dinge gibt, die Sie ausprobieren könnten, bevor Sie eine dauerhafte Änderung vornehmen:

2 „Gefällt mir“

emm Aber meine Serverkonfiguration ist 4C4G

Wie viel Swap hast du?

Neuester Fortschritt: Nach dem Löschen eines zuvor installierten Themes [Graceful] konnte ich es erfolgreich neu erstellen.

Nur zur Information, falls das Löschen dieses Themes kein entscheidender Faktor war: Es gab Berichte, dass der Fehler 137 sporadisch auftritt. Das heißt, manchmal schlägt es ein paar Mal fehl und ein anderes Mal kann es erfolgreich sein, obwohl keine Änderungen vorgenommen wurden.

Aber wenn Sie ihn erneut erhalten, haben Sie zumindest eine Vorstellung davon, was getan werden kann. :+1:

2 „Gefällt mir“