Échec du démarrage en raison du tueur de mémoire insuffisante

Il pourrait être judicieux de le placer derrière un drapeau de fonctionnalité par la suite, afin que nous puissions l’itérer en interne.

3 « J'aime »

C’est bon, cela a été annulé et le commit se trouve maintenant dans tests-passed :

Merci de nous avoir informés et désolé pour le dérangement.

7 « J'aime »

Je serais intéressé d’en savoir si ce revert a également résolu le problème de l’OP. L’OP (@devnull) a signalé avoir vu : FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory, ce qui n’a pas été rapporté par @pfaffman. Je souhaite également commenter ceci : [quote=“pfaffman, post:6, topic:188141”]Vous pouvez essayer d’augmenter un peu la mémoire d’échange, mais je recommande davantage de RAM[/quote] Ajouter de la RAM peut parfois améliorer les performances, mais en cas d’épuisement réel de la mémoire, ce qui compte, c’est la somme RAM + mémoire d’échange. Si l’ajout de mémoire d’échange ne résout pas un problème d’épuisement de la mémoire, l’ajout de RAM n’y changera rien non plus. Comme le signale @weallwegot, l’échec persiste même après l’ajout de 4 Go de mémoire d’échange ; quelque chose est (ou était) vraiment très gourmand.

2 « J'aime »

C’est la même erreur. La lecture de la trace arrière révèle une référence à OOM sur la quatrième ligne.

3 « J'aime »

Tout cela est vrai. Il dispose de moins de 1 Go de RAM, ce qui est insuffisant. Donc, même s’il ne rencontrait pas ce problème, je lui recommanderais tout de même d’ajouter plus de RAM. D’ailleurs, je recommande généralement à toute personne disposant de moins de 2 Go de RAM d’augmenter sa mémoire vive.

1 « J'aime »

Le problème est résolu pour moi. Reconstruire l’application fonctionne. Merci beaucoup pour vos efforts !

3 « J'aime »

Tout à fait, je comprends le conseil, c’est la logique qui semblait susceptible d’induire en erreur.

2 « J'aime »

J’ai pu reconstruire avec les deux plugins sans problème, au fait. Bien que maintenant j’aie 6 Go d’espace d’échange, donc ce n’est pas tout à fait comparable, lol.

4 « J'aime »

Merci ! Je suis de nouveau opérationnel.

6 « J'aime »

Pour info, je viens de fusionner ce changement à nouveau, mais cette fois cela ne devrait pas casser Bootstrap. Merci de me faire savoir si cela pose des problèmes.

2 « J'aime »

Je viens d’avoir le même type d’échec dans bootstrap que celui décrit par @pfaffman… erreur d’analyse à theme_test_helper. Faites-moi savoir si vous avez besoin de plus d’informations.

1 « J'aime »

Pourriez-vous copier-coller l’erreur ici, s’il vous plaît ? Aussi, les lignes de sortie autour de la compression de theme_test_helper et theme_test_vendor, elles devraient ressembler à ceci :

12825804.271282336 Compression : discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js
gzip -f -c -9 /var/www/discourse/public/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js > /var/www/discourse/public/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js.gz

brotli -f --quality=11 /var/www/discourse/public/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js --output=/var/www/discourse/public/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js.br
Compression terminée pour discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js : 6,85 secondes
6061451.556507351 Compression en cours : discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js
uglifyjs '/var/www/discourse/public/assets/discourse/tests/_theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js' -m -c -o '/var/www/discourse/public/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js' --source-map "base='/var/www/discourse/public/assets/discourse/tests',root='/assets/discourse/tests',url='/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js.map'"
Erreur de parsing à _theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js:27883,17
define("sinon", () => {
                 ^
ERREUR : Token inattendu : punc «)»
    at JS_Parse_Error.get (eval at <anonymous> (/usr/lib/node_modules/uglify-js/tools/node.js:18:1), <anonymous>:71:23)
    at fatal (/usr/lib/node_modules/uglify-js/bin/uglifyjs:409:27)
    at run (/usr/lib/node_modules/uglify-js/bin/uglifyjs:347:9)
    at Object.<anonymous> (/usr/lib/node_modules/uglify-js/bin/uglifyjs:261:5)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
rake aborted!
Errno::ENOENT : Aucun fichier ou répertoire de ce type @ rb_file_s_size - /var/www/discourse/public/assets/discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js
/var/www/discourse/lib/tasks/assets.rake:290:in `size'
/var/www/discourse/lib/tasks/assets.rake:290:in `block (4 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:181:in `block in concurrent?'
/var/www/discourse/lib/tasks/assets.rake:281:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:272:in `each'
/var/www/discourse/lib/tasks/assets.rake:272:in `block (2 levels) in <main>'
/var/www/discourse/lib/tasks/assets.rake:181:in `concurrent?'
/var/www/discourse/lib/tasks/assets.rake:269:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tâches : TOP => assets:precompile
(Voir la trace complète en exécutant la tâche avec --trace)

et bien sûr, après avoir exécuté le reste des plugins, des composants de thème, etc. :

ÉCHEC
--------------------
Pups::ExecError : cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' a échoué avec le code de retour #<Process::Status: pid 5128 exit 1>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
Échec de l'exécution avec les paramètres {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
29b7ee9f8297bdac0cc17dae6117ebe5aa94dcdf3f5dbfed4bf03b0bd7751cc0
** ÉCHEC DE L'INITIALISATION ** veuillez faire défiler vers le haut et rechercher les messages d'erreur antérieurs, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.
4 « J'aime »

Pourriez-vous s’il vous plaît entrer dans le conteneur et vérifier la version de uglifyjs ?

./launcher enter app
uglifyjs --version

Et également discourse_docker sur votre machine hôte :

git rev-parse HEAD
5 « J'aime »

@Osama @downey,

nous venons de mettre à jour l’image de base il y a quelques heures et nous imposons désormais une nouvelle image de base afin de pouvoir compiler correctement le JavaScript de 2015. Pourriez-vous effectuer un git pull puis tenter une nouvelle construction @downey ? Cela devrait utiliser terser au lieu de uglify dorénavant.

cc @pmusaraj

6 « J'aime »

Merci à tous. J’étais absent pendant quelques heures en soirée à cause de quelques engagements familiaux, mais j’ai été agréablement surpris de voir cette mise à jour.

Bonne nouvelle : j’ai exécuté git pull et reconstruit, et tout semblait fonctionner correctement. (Bien que j’aie reçu une alerte indiquant moins de 5 Go disponibles, j’ai donc dû nettoyer quelques anciennes images Docker et réessayer une deuxième fois.)

Mais tout va bien maintenant, autant que je puisse en juger. :tada:

Faites-moi savoir si vous avez besoin d’informations supplémentaires de ma part.

8 « J'aime »