Verwirrt wegen ./launcher rebuild app Fehler (Process::Status: pid 2096)

Heute erhalte ich bei der Ausführung des Befehls ./launcher rebuild app (aus keinem ersichtlichen Grund) diese Fehlermeldung (dies geschieht, nachdem ich alle Plugins in der Datei app.yml deaktiviert habe)… Ich würde mich sehr über jede Hilfe freuen!

error-log_2024-10-31_1.txt (44,1 KB)

endet mit…

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 2096 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP **
1 „Gefällt mir“

Der relevante Teil des Logs ist

undefined method `+' for nil
/var/www/discourse/db/migrate/20241025045928_add_invites_link_to_sidebar.rb:44:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/migration.rb:989:in `public_send'

Es scheint also mit FEATURE: Add invite link to the sidebar (#29448) · discourse/discourse@19672fa · GitHub (cc @osama) zusammenzuhängen.

4 „Gefällt mir“

Vielen Dank (auch für die Erklärung), das habe ich auch gesehen und mich gefragt, ob es das ist!

1 „Gefällt mir“

@denvergeeks Ich werde die Migration beheben, bin aber etwas neugierig, wie Ihre Website in diesen Zustand geraten ist. Wie sieht die Seitenleiste auf Ihrer Website aus? Haben Sie alle Links in der Standard-Seitenleiste aus der Datenbank gelöscht?

Sicher – ich habe keinen Screenshot der Seitenleiste oder der Website, aber nichts ist modifiziert, außer dass einige grundlegende Menüpunkte unter “Mehr…” hinzugefügt wurden.

Es ist nur eine meiner (nicht öffentlichen) persönlichen Forschungs-Discourse-Instanzen, daher könnte ich beim Debuggen helfen, wenn Sie mir sagen, was ich in der Befehlszeile tun soll. (Ich habe meinen eigenen dedizierten Server, falls das hilft.)

1 „Gefällt mir“

Können Sie mir sagen, was die folgenden Abfragen in Ihrer Datenbank ausgeben?

SELECT id FROM sidebar_sections WHERE section_type = 0;
SELECT linkable_type, linkable_id, position FROM sidebar_section_links WHERE sidebar_section_id IN (SELECT id FROM sidebar_sections WHERE section_type = 0);
SELECT id, segment FROM sidebar_urls WHERE id IN (SELECT linkable_id FROM sidebar_section_links WHERE sidebar_section_id IN (SELECT id FROM sidebar_sections WHERE section_type = 0));

Ich kann das auf jeden Fall – könnten Sie bitte die Befehle vom Start/Prompt angeben? (Ich bin Root-Benutzer)

1 „Gefällt mir“

Ich kann die genauen Befehle nicht auswendig, aber ich habe mich hier bei Meta umgesehen und glaube, dass diese funktionieren werden:

./launcher enter app
su postgres
psql

Nach dem psql-Befehl sollten Sie die Abfragen einfügen und ausführen können, um deren Ergebnisse zu sehen. Lassen Sie mich wissen, wenn die Befehle nicht funktionieren.

root@JEN /var/discourse # ./launcher enter app101
su postgres
psql
x86_64 arch detected.
Error response from daemon: container 8ee36bdfa85b786ea149e6714f65048e136091fe31be2f5425be5fe04a852729 is not running
su: user postgres does not exist or the user entry does not contain all the required fields
Command 'psql' not found, but can be installed with:
apt install postgresql-client-common

Hmm, es sieht so aus, als ob Ihr Container nicht läuft. Ist Ihre Website im Moment nicht erreichbar? Versuchen Sie:

./launcher start app101
root@JEN /var/discourse # ./launcher start app101
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app101
app101
root@JEN /var/discourse # ./launcher enter app101
su postgres
psql
x86_64 arch detected.
root@JEN-app101:/var/www/discourse# SELECT id FROM sidebar_sections WHERE section_type = 0;
bash: SELECT: command not found
root@JEN-app101:/var/www/discourse#

Die Seite ist gestartet und hier ist die Seitenleiste und …weitere Elemente

1 „Gefällt mir“

Ok, das ergibt jetzt Sinn. Die Migration erwartet mindestens einen Link außerhalb von ... mehr, aber Sie haben keinen, daher schlägt sie fehl. Ich werde die Migration aktualisieren, damit sie diesen Fall berücksichtigt.

2 „Gefällt mir“

Ich habe denselben Fehler (und gestoppten Container) auch auf einer meiner anderen Websites erhalten. (Aber nicht auf einigen anderen Websites.)

Bearbeiten: Ja, diese andere Website (auf der ich dasselbe Verhalten gefunden habe) hat auch keinen Link außerhalb von ... mehr

Sind wir also fertig?

![Das Bild ist ein unscharfes Foto

Entschuldigung @denvergeeks, es ist etwas Persönliches Dringendes dazwischengekommen und ich musste für ein paar Stunden AFK sein. Ich habe einen PR mit einer Korrektur vorbereitet:

Ich werde dich wissen lassen, wenn er zusammengeführt wurde und die Tests bestanden hat.

3 „Gefällt mir“

@denvergeeks, die Korrektur wurde in den Branch „tests-passed“ übernommen. Wenn Sie jetzt erneut erstellen, sollte es erfolgreich sein.

3 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.