Le démarrage échoue soudainement

Je n’ai rien changé consciemment, mais aujourd’hui, après un simple git pull et une tentative de démarrage de web_only.yml, j’obtiens des erreurs, environ 90 secondes après le début du processus de démarrage. Je colle juste les dernières lignes de l’erreur, si cela peut aider au diagnostic :

/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:511:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)
I, [2022-12-29T10:28:07.806753 #1]  INFO -- : gem install geocoder -v 1.4.4 -i /var/www/discourse/plugins/discourse-locations/gems/3.1.3 --no-document --ignore-dependencies --no-user-install
Successfully installed geocoder-1.4.4
1 gem installed


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #&lt;Process::Status: pid 1066 exit 1&gt;
Location of failure: /usr/local/lib/ruby/gems/3.1.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.
./discourse-doctor may help diagnose the problem.
9b7ac0c88b42b2aa1eccb9ef291527f4afd8b71861669af66ab79dee5ed82a45

Je ne comprends pas pourquoi le démarrage du même fichier yml qui fonctionnait auparavant n’est plus autorisé. Mon site, cependant, fonctionne correctement.

Je n’ai trouvé aucune « erreur » dans Discourse-Doctor non plus (je ne peux rechercher que le mot « erreur », qui n’était pas présent dans le fichier résultant de discourse doctor). Je ne suis pas un expert cependant.

Essayez de supprimer le plugin d’emplacements.

4 « J'aime »

Vous avez réussi. Je suis maintenant capable d’amorcer le conteneur web sans problème.!!! Merci beaucoup, une énième fois.


Mais maintenant, toutes mes anciennes « associations/emplacements » de différents articles et utilisateurs ont disparu.

Existe-t-il une alternative ? Je sais que je peux, que je devrais et que je vais chercher davantage sur les sujets de ces plugins. Mais en bref, existe-t-il une solution à ce problème ?

1 « J'aime »

Le temps. Je suis sûr que ce sera résolu dans la semaine ou deux à venir.

4 « J'aime »

Hier, après avoir désactivé le plugin ‘location’, j’ai pu reconstruire mon conteneur web_only sans problème. Mais aujourd’hui, même après avoir désactivé tous les plugins un par un, le démarrage échoue toujours.

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 900 exit 137>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 137
** 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.
2c5f01d5ca6b216e744e11547b121e64aac0ad5e37d64d2ec5e2f279fe766c6a

BIEN QUE MON SITE FONCTIONNE PARFAITEMENT.

Que puis-je faire à ce sujet ? S’il vous plaît, guidez-moi dans une direction.

Vous ne pouvez pas reconstruire mais vous pouvez démarrer l’application ?

1 « J'aime »

Oui, le conteneur est déjà démarré et le site web fonctionne. Mais lorsque je tente de reconstruire/démarrer le même conteneur (web_only), cela génère une erreur. Hier, face au même problème, la désactivation du plugin ‘location’ m’a permis de le démarrer avec succès, mais aujourd’hui, même sans aucune modification, cela a échoué.

1 « J'aime »

Votre site semble être hors ligne en ce moment. EDIT : Non, il est de retour. La plupart est en hindi et je ne peux pas le lire cependant.

Juste pour être sûr. Vous n’avez aucun plugin activé dans votre fichier app.yml en ce moment ? Ils sont tous commentés/supprimés ?

Le code d’erreur 137 signifie manque de mémoire.

5 « J'aime »

Est-ce que cela pourrait être un problème ?
Discourse a-t-il besoin de plus de 4 Go maintenant (même avec tous les plugins désactivés) ?
Les 2 autres sites wpress fonctionnant sur la même goutte/instance sont presque inactifs.

Pourrait-il y avoir une solution simple à cela, autre que de passer à une machine de 8 Go de RAM ?

Oui, il ne vous reste que 400 Mo de mémoire libre, ce qui ne permettra pas à Discourse de reconstruire. Essayez d’augmenter à 4/5 Go, ou d’arrêter le forum avant de reconstruire et réessayez.

En supposant que les 400 Mo libres sont au repos. La reconstruction est assez intensive pour le système (je le vérifierais dans Proxmox pour mon site, mais il est hors ligne depuis un moment), et nécessite plus de mémoire qu’au repos.

Désolé, mais je n’ai pas bien compris le sens. Voulez-vous dire que je devrais encore augmenter de 4 à 5 Go ? C’est-à-dire le faire passer de 4 Go à 8 ou 9 Go ?

Comment puis-je arrêter mon forum (c’est-à-dire mon site Web) ?
Et
Voulez-vous dire qu’après avoir augmenté ma mémoire, je devrais quand même arrêter mon site Web avant de reconstruire ?

Merci de me guider.

Essayez d’exécuter ceci dans la ligne de commande avant d’ajouter de la mémoire.
Cela suppose que vous avez une installation standard. Assurez-vous d’être dans le répertoire /var/discourse.

./launcher stop app && ./launcher rebuild app && ./launcher start app

1 « J'aime »

Vous avez raison !!

J’ai redémarré mon serveur Ubuntu, ce qui m’a permis d’avoir environ 700 à 800 Mo de RAM libre sur mon instance et le démarrage a réussi. J’aurais dû arrêter mon conteneur avant un autre BS, si une autre reconstruction/BS n’avait pas réussi après avoir activé les plugins souhaités.

Mais je suis étonné des nouvelles exigences en RAM de Discourse. Le coût de l’instance/du droplet double presque lorsque je passe de 4 à 8 Go de RAM. Ce que je ne souhaite pas, étant donné que mon site web est très, très, très petit (peut-être 10 visiteurs par jour). Auparavant, l’installation standard de Discourse ne demandait que 1 à 2 Go de RAM.

Merci beaucoup de m’avoir aidé à comprendre ce qui n’allait pas.

1 « J'aime »

Si possible, je recommande de prendre la machine 8 Go si elle est disponible. La machine 2 Go est conçue pour les forums plus petits, et le vôtre semble contenir beaucoup de contenu.

1 « J'aime »

Le mien a 4 Go avec très peu de visites pour l’instant. J’envisagerai de passer à 8 Go (il n’y a pas de 6 Go) à l’avenir.

Au fait, certains articles sur Google disaient que la quantité de mémoire libre n’avait pas beaucoup d’importance. Car c’est une sorte de mémoire perdue qui ne fait rien. Et les utilisateurs devraient plutôt rechercher la “mémoire disponible”, qui est disponible si le besoin s’en fait sentir. Et dans mon cas, la mémoire disponible est de 1,4 Go.

Encore une fois, j’espère être guidé à ce sujet également, si vous le voulez bien.

1 « J'aime »

Que fait votre système avec 1,4 Go disponible ?

1 « J'aime »

Comme le montre la capture d’écran/l’article ci-dessus, « disponible » inclut la « mémoire tampon », etc., qui peut être « disponible pour le système » en cas de besoin. Mais je ne suis pas un expert en ces matières.

Et, je suis toujours en train de rechercher ces choses (encore une fois, je ne suis pas un expert). Bien que je suppose que mes 2 autres sites Web WP, que je considère comme presque dormants, pourraient y être liés. J’essaierai de les désactiver pendant mon temps libre, puis de comparer les performances.

Pour l’instant, mon problème de reconstruction est résolu, sans avoir à augmenter les ressources et à payer presque le double chaque mois. Merci à vous.

1 « J'aime »

Donc, ce n’est pas une bonne idée.

De plus, ce serait une bonne idée de configurer un peu de swap.

Vous pouvez ajouter de l’espace swap. Beaucoup de RAM est nécessaire pour une reconstruction. De plus, puisque vous voyez d’autres choses que Discourse fonctionner sur le serveur, plus de mémoire est nécessaire que le minimum. Même si les autres sites n’ont pas de trafic, le fait d’avoir l’autre serveur web en cours d’exécution utilise de la mémoire.

3 « J'aime »