Update fehlgeschlagen mit unerwartetem Fehler während des Rebuilds

Hallo zusammen,

Ich stecke bei einem Discourse-Update-Problem fest. Der Rebuild-Befehl schlägt fehl und ich kann das Update nicht abschließen. Es hängt mit dem bundle install-Schritt zusammen…

FAILED
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4' failed with return #<Process::Status: pid 6677 exit 5>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
d5f6cd1fd76403647c95480f36207ae014cd548ec8eb9914fdf280998b5597d
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
bootstrap failed with exit code 5

aber ich bin mir nicht sicher, wie ich es beheben kann. Irgendwelche Ratschläge?

Vielen Dank für jeden Hinweis!

Bitte posten Sie das vollständige Protokoll (oder zumindest frühere Fehler), da dieser Ausschnitt allein nicht viel bedeutet.

1 „Gefällt mir“

Sie könnten es ohne die discourse-formatting-toolbar versuchen

Ja, ich habe dieses Plugin zusammen mit dem Rest entfernt, aber leider besteht das Problem weiterhin.

Nachdem ich fast alle Plugins entfernt habe, habe ich die neueste Ausgabe von ./discourse-doctor angehängt, und das Problem bleibt bestehen. Ich frage mich, ob ich auch das Entfernen einiger Vorlagen in Betracht ziehen sollte oder ob der Fehler woanders liegen könnte. Alles funktionierte reibungslos, bis ich versuchte, ein Update durchzuführen, und jetzt ist die Website nicht mehr erreichbar. Hier sind die zusätzlichen Textausgaben von ./discourse-doctor, die möglicherweise mehr Licht auf das Problem werfen:

2023-12-14 22:38:53.291 UTC [42] LOG: Das Datenbanksystem ist heruntergefahren
11:14 Mi Dez 2023 22:38:53.536 +0000 Auf der Festplatte gespeichert
11:14 Mi Dez 2023 22:38:53.346 # Redis ist nun bereit zum Beenden, auf Wiedersehen...

FEHLGESCHLAGEN
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4' fehlgeschlagen mit Rückgabe #<Process::Status: pid 518 exit 5>
Ort des Fehlschlags: /usr/local/lib/ruby/gems/2.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fehlgeschlagen mit den Parametern {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["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'"]}
** FEHLER BEIM BOOTSTRAPPING ** 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.
0cbe5f54cc4be6fd4475fdad523d75c5cd36cded997f6b3cab34e4e908896
==================== ENDE REBUILD LOG ====================
App konnte nicht neu erstellt werden.

Überprüfung Ihres Domainnamens...
Verbindung zu forospyware.com erfolgreich.
Sie sollten wahrscheinlich alle nicht standardmäßigen Plugins entfernen und neu erstellen.
Versuch, den vorhandenen Container neu zu starten...
x86_64 Architektur erkannt.

Starte vorhandenen Container
+ /usr/bin/docker start app
Fehlerantwort vom Daemon: Treiber konnte die externe Konnektivität auf Endpoint app (1a8bb1f1f3267284b55ed1620db877010454d9932112d71de80bac3e5ff7d7) nicht programmieren: Fehler beim Starten des Userland-Proxys: listen tcp 0.0.0.0:443: bind: Adresse bereits in Verwendung
Fehler: Container konnten nicht gestartet werden: app
Container konnte nicht neu gestartet werden.

==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
Keine nicht-offiziellen Plugins erkannt.

Siehe https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb für die offizielle Liste.

==================== DISCOURSE VERSION ====================
Discourse-Version auf forospyware.com: NICHT GEFUNDEN
Discourse-Version auf localhost: NICHT GEFUNDEN

==================== SPEICHERINFORMATIONEN ====================
RAM (MB): 8174

gesamt belegt frei gemeinsam Puffer/Cache verfügbar
Mem: 7983 195 4275 80 3512 7326
Swap: 0 0 0

==================== FESTPLATTENSATZPRÜFUNG ====================
-- OS Festplattenspeicher
Dateisystem Größe Belegt Verfügbar Nutzung% Eingehängt auf
/dev/vda1 155G 107G 49G 69% /

==================== FESTPLATTENINFORMATIONEN ====================
Festplatte /dev/vda: 160 GiB, 171798691840 Bytes, 335544320 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 603625F3-7AE2-40CB-B05E-08D7EAD257E4

Gerät Start Ende Sektoren Größe Typ
/dev/vda1 227328 335544286 335316959 159.9G Linux-Dateisystem
/dev/vda14 2048 10239 8192 4M BIOS-Boot
/dev/vda15 10240 227327 217088 106M Microsoft Basic Data

Partitions-Tabelleneinträge sind nicht in der richtigen Reihenfolge.
==================== ENDE FESTPLATTENINFORMATIONEN ====================

==================== MAIL TEST ===================
Für einen robusten Test, holen Sie sich eine Adresse von http://www.mail-tester.com/
Oder senden Sie einfach eine Testnachricht an sich selbst.
E-Mail-Adresse für Mail-Test? ('n' zum Überspringen) [ ]: n
Mail-Test übersprungen.
Ersetze: SMTP_PASSWORD
Ersetze: LETSENCRYPT_ACCOUNT_EMAIL
Ersetze: DEVELOPER_EMAILS
Ersetze: DISCOURSE_DB_PASSWORD
Ersetze: Senden an
==================== FERTIG! ====================
Sie können die Ausgabe dieses Skripts mit
LESS=-Ri less /tmp/discourse-debug.txt
untersuchen.

ABER ZUERST stellen Sie sicher, dass Sie die ersten drei Befehle unten kennen!!!

Befehle, die Sie kennen sollten, wenn Sie die obige Datei mit dem Befehl (genannt 'less') anzeigen:
q -- beenden
/ -- Suche nach dem Wort 'error'
n -- Suche nach der nächsten Übereinstimmung
N -- Gehe zur vorherigen Übereinstimmung

Sie müssen den ersten Teil des Build-Protokolls teilen. Den Teil, der die Zeile bundle install enthält.

Meinen Sie diesen Teil? - Entschuldigung, es ist sehr schwierig, sich mit der DigitalOcean-Konsole zu bewegen und den gesamten Code zu sehen.

Könnten Sie das Protokoll durchsehen und Stellen finden, an denen Fehler aufgetreten sind? Der am Ende sollte nicht der einzige sein.

Wenn das zu viel Mühe ist, reicht auch die Bereitstellung des gesamten Protokolls.

Es scheint, dass dies der kritische Fehler war:

I, [2023-12-14T22:38:19.544278 #1]  INFO -- : \u003e cd /var/www/discourse \u0026\u0026 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.

Könnten Sie diese Protokolldatei bereitstellen? (/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log)

Jay hatte das gleiche Problem Rebuild failure: "extconf failed, exit code 1" -- due to old Docker?, aber ich weiß nicht, ob er das Problem letztendlich gelöst hat.

@TroyaNO Können Sie nur für den Fall versuchen, git pull einzugeben, bevor Sie ./launcher rebuild app erneut versuchen?

1 „Gefällt mir“

Ich habe beschlossen, dass es sich um ein altes Docker handelte, obwohl das nicht wirklich Sinn ergab.

Aber ich wette, das ist seit 2018 auf demselben VM und das Betriebssystem ist veraltet.

Was ich tun würde, wäre, einen neuen Droplet zu starten und eine Discourse-Site auf einen anderen VPS mit rsync verschieben.

1 „Gefällt mir“