Update-Problem: Forum defekt

Hallo,

Ich habe ein Problem mit dem letzten Update. Mein Forum ist kaputt.
Ich habe diese Nachricht auf SSH.

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' fehlgeschlagen mit Rückgabe #<Process::Status: pid 2472 exit 1>
Ort des Fehlschlags: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec fehlgeschlagen mit den Parametern {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
3d52a3f170f714bf580dcd30effbf9306fbf6e0ef1f786cf9dd4e326b066e6a4
** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann helfen, das Problem zu diagnostizieren.

Haben Sie eine Idee, wo das Problem liegt und wie es behoben werden kann?

Vielen Dank

2 „Gefällt mir“

Könnten Sie nach oben scrollen und nach spezifischeren Fehlern suchen und sehen, was dort steht?

1 „Gefällt mir“

Hallo,

hier ist ein Pastebin des gesamten Vorgangs. Es gibt offensichtlich einige Fehler mit PostgreSQL, auch wenn ich mir nicht sicher bin, ob das Problem von dort kommt

https://pastebin.com/nqLWDRAC

Wie hast du es installiert? Welches PostgreSQL verwendest du?

Verursacht durch:
PG::InsufficientPrivilege: FEHLER:  Berechtigung zum Erstellen der Erweiterung „unaccent“ verweigert
HINWEIS:  Muss Superuser sein, um diese Erweiterung zu erstellen.
1 „Gefällt mir“

Ich habe mich als root angemeldet.
Ich kann keine besseren Berechtigungen haben :slight_smile:

Ich weiß nicht für postgres
„Das Programm ‚pg_config‘ kann in den folgenden Paketen gefunden werden:“

Das Forum ist online.
Ich starte den Server neu.

Das erste Problem ist behoben, aber ich habe ein zweites.

Ich erhalte die Fehlermeldung “500 Internal Server Error”, wenn ich einen Beitrag erstelle oder darauf antworte.

Haben Sie eine Idee, wie ich das beheben kann?

Hallo,

Ich habe diesen Fehler in der Log-Datei gefunden:

ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block ) app/models/post.rb:973:in `block in link_post_uplo 
ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
)
app/models/post.rb:973:in `block in link_post_uploads'
app/models/post.rb:972:in `link_post_uploads'
lib/post_creator.rb:217:in `block in create'
lib/post_creator.rb:409:in `block (2 levels) in transaction'
lib/post_creator.rb:408:in `block in transaction'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
lib/post_creator.rb:407:in `transaction'
lib/post_creator.rb:205:in `create'
lib/new_post_manager.rb:285:in `perform_create_post'
lib/new_post_manager.rb:223:in `perform'
app/controllers/posts_controller.rb:193:in `create'
app/controllers/application_controller.rb:400:in `block in with_resolved_locale'
app/controllers/application_controller.rb:400:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

Hast du eine Idee, was das Problem sein könnte?

Ist das eine Standardinstallation?

Ja,

ich benutze das Forum seit 6 Jahren.

Die zuletzt installierte Version ist 2.9.0.beta3

Haben Sie Plugins installiert? Vielleicht posten Sie Ihre app.yml?

Was ist Ihre PostgreSQL-Version? Geben Sie einfach launcher enter app ein und dann psql -V

2 „Gefällt mir“

Hallo,

Ich habe getestet, aber das ursprüngliche Problem ist wieder da

Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 2458 exit 1>
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"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
45d3621c802f025ef80ad34e77ec3318a48677b0de0134210120ef7690b6e6f4
** 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.

Ich glaube, es gab ein Problem beim Update, weil nicht genug Speicherplatz auf der Festplatte war. Ich habe etwas Platz freigemacht und habe jetzt 67% frei. Es gibt jedoch ein bestehendes Problem, aber welches?

Das Programm ‘psql’ ist derzeit nicht installiert.
Muss ich es installieren?

Hast du vor dem psql-Befehl

launcher enter app

ausgeführt?

1 „Gefällt mir“

Es ist dasselbe,
Ich versuche zu installieren, aber ich bekomme diese Meldung

E: Das Paket libperl5.22 muss neu installiert werden, aber ich kann kein Archiv dafür finden.

Ich habe mir Ihr Pastebin-Logfile noch einmal angesehen. Dort steht Postgres 10.
Sind Sie sicher, dass es sich um eine Standardinstallation handelt, die gemäß discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub installiert wurde?

1 „Gefällt mir“

Ich habe es schon einmal gesagt, das Forum existiert seit vielen Jahren und ich hatte nie größere Probleme. Im Allgemeinen reichte ein Neuaufbau oder ein Update aus, um alles wieder zum Laufen zu bringen.
Ja, es ist eine normale Installation.

Mein letzter Versuch.

Können Sie bitte Folgendes ausführen:

cd /var/discourse
./launcher enter app
psql -V

und dies vollständig in eine Antwort kopieren, einschließlich der Befehle und der Ausgabe?

1 „Gefällt mir“
psql (PostgreSQL) 10.19 (Debian 10.19-1.pgdg110+1)

Ok, großartig. Das ist ein anderes Ergebnis als letztes Mal.
Bitte führen Sie nun Folgendes aus:

cd /var/discourse
git pull
./launcher rebuild app

Und wenn Sie Fehler erhalten, posten Sie bitte die GESAMTE Ausgabe, einschließlich Ihrer Befehle, in einer Antwort (oder auf Pastebin).

1 „Gefällt mir“

Interessanterweise ist bei mir derselbe oder ein ähnlicher Fehler aufgetreten. Ich verwende Discourse 2.9.0.beta2 und habe versucht, auf ß3 zu aktualisieren. Ich habe alle Plugins außer docker_manager für ./launcher rebuild app deaktiviert. Ich verwende eine externe PGSQL-Datenbank mit der Version:

$ psql --version
psql (PostgreSQL) 14.1 (Ubuntu 14.1-1.pgdg18.04+1)

Ich kann den Container nach dem Fehlschlag über ./launcher restart app neu starten, aber Antworten geben dann einen 500-Fehler zurück.

Der endgültige Fehler während des Rebuild/Upgrade lautet:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 658 exit 1>
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"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

Die eigentlichen aussagekräftigen Fehler finden Sie hier: https://p153.p0.n0.cdn.getcloudapp.com/items/jkuvPekN/feb38236-3b84-410e-8fac-d1864d02ba69.txt?v=eb1d15e029cb07a73300d8ec07318876

Ich tue mich schwer zu glauben, dass dies ein echtes Berechtigungsproblem ist, und ich zögere, dem Discourse DB-Benutzer Superuser-/Root-Berechtigungen für pgsql zu geben.

Gibt es weitere Gedanken dazu, was hier mit einem so kürzlichen Fehler passieren könnte?