Bloqué par l'erreur ./launcher rebuild app (Process::Status : pid 2096)

Aujourd’hui, lors de la commande ./launcher rebuild app (sans raison que j’aie pu trouver), j’ai reçu cette erreur (également, ceci est après avoir désactivé tous les plugins dans le fichier app.yml)… J’apprécierais grandement toute aide à ce sujet !

error-log_2024-10-31_1.txt (44.1 KB)

se terminant par…

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' a échoué avec le retour #<Process::Status: pid 2096 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap a échoué avec le code de sortie 1
** FAILED TO BOOTSTRAP **
1 « J'aime »

La partie pertinente du journal est

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'

Il semble donc lié à FEATURE: Add invite link to the sidebar (#29448) · discourse/discourse@19672fa · GitHub (cc @osama)

4 « J'aime »

Merci beaucoup (et pour l’explication), j’ai vu ça aussi, et je me demandais si c’était ça !

1 « J'aime »

@denvergeeks Je vais corriger la migration, mais je suis un peu curieux de savoir comment votre site en est arrivé là. À quoi ressemble la barre latérale sur votre site ? Avez-vous supprimé tous les liens de la barre latérale par défaut de la base de données ?

Bien sûr – je n’ai pas de capture d’écran de la barre latérale ou du site, mais rien n’est modifié à part l’ajout de quelques éléments de menu basiques dans le « plus… »

C’est juste une de mes instances Discourse de recherche personnelle (non publique) donc je pourrais aider à déboguer si vous me dites ce que vous voulez que je fasse en ligne de commande. (J’ai mon propre serveur dédié si cela peut aider.)

1 « J'aime »

Pouvez-vous me dire ce que les requêtes suivantes renvoient dans votre base de données ?

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));

Je peux certainement - pourriez-vous s’il vous plaît fournir les commandes à partir du début/de l’invite ? (Je suis l’utilisateur root)

1 « J'aime »

Je ne connais pas les commandes exactes par cœur, mais j’ai cherché ici dans Meta et je pense que celles-ci fonctionneront :

./launcher enter app
su postgres
psql

Après la commande psql, vous devriez pouvoir coller les requêtes et les exécuter pour voir leurs résultats. Faites-moi savoir si les commandes ne fonctionnent pas.

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

Il semble que votre conteneur ne tourne pas. Votre site est-il hors service pour le moment ? Essayez :

./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#

Le site est lancé et voici la barre latérale et… plus d’éléments

1 « J'aime »

Ok, ça a du sens maintenant. La migration attend au moins 1 lien en dehors de ... plus, mais vous n’en avez aucun, donc elle plante. Je vais mettre à jour la migration pour qu’elle tienne compte de ce cas.

2 « J'aime »

J’ai eu la même erreur (et arrêté le conteneur) sur un de mes autres sites également. (Mais pas sur certains autres sites.)

Edit : Oui, donc cet autre site (où j’ai trouvé le même comportement) n’a pas non plus de lien en dehors de ... plus

Avons-nous terminé ?

L'image est une photographie floue et de faible résolution du visage d'un jeune enfant, l'enfant regardant directement la caméra et souriant. (Légendé par l'IA)

Désolé @denvergeeks, une urgence personnelle est survenue et j’ai dû m’absenter quelques heures. J’ai préparé une PR avec un correctif :

Je vous informerai lorsqu’elle sera fusionnée et aura passé les tests.

3 « J'aime »

@denvergeeks, la correction est arrivée sur la branche tests-passés. Si vous reconstruisez maintenant, cela devrait réussir.

3 « J'aime »

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