Impossibile avviare a causa dell'out of memory killer

Potrebbe essere una buona idea metterlo dietro un feature flag in seguito, così da poterlo iterare internamente.

3 Mi Piace

Ok, è stato annullato e il commit ora è in tests-passed:

Grazie per avercelo fatto sapere e scusa per l’inconveniente.

7 Mi Piace

Sarei interessato a sapere se questo revert abbia risolto anche il problema dell’OP. L’OP (@devnull) ha segnalato di aver visto

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

che non è stato segnalato da @pfaffman.

Vorrei inoltre commentare quanto segue:

Aggiungere RAM può talvolta migliorare le prestazioni, ma nel caso di effettiva esaurimento della memoria, ciò che conta è la somma di RAM e swap. Se aggiungere swap non risolve una condizione di esaurimento della memoria, allora nemmeno aggiungere RAM aiuterà.

Come riferisce @weallwegot, il problema persiste anche dopo aver aggiunto 4 GB di swap: qualcosa (o qualcosa in passato) era davvero molto affamato.

2 Mi Piace

È lo stesso errore. Leggere il backtrace mostra un riferimento a OOM nella quarta riga.

3 Mi Piace

Tutto ciò è vero. Ha meno di 1 GB di RAM, che non è molto. Quindi, anche se non avesse questo problema, gli consiglierei comunque di aggiungere più RAM. Del resto, consiglio principalmente a chiunque abbia meno di 2 GB di RAM di aumentarla.

1 Mi Piace

Il problema è stato risolto per me. Ricompila l’app funziona. Grazie mille per il tuo impegno!

3 Mi Piace

(Assolutamente, capisco il consiglio, è la logica che sembrava potesse trarre in inganno.)

2 Mi Piace

Comunque, sono riuscito a ricompilare con entrambi i plugin senza problemi. Anche se ora ho 6 GB di swap, quindi non è proprio un confronto equo, lol.

4 Mi Piace

Grazie! Sono di nuovo operativo.

6 Mi Piace

FYI ho appena fuso di nuovo quella modifica, ma questa volta non dovrebbe rompere Bootstrap. Fammi sapere se questo causa problemi.

2 Mi Piace

Ho appena avuto lo stesso tipo di errore in bootstrap descritto da @pfaffman… errore di parsing in theme_test_helper. Fate sapere se avete bisogno di ulteriori informazioni.

1 Mi Piace

Puoi copiare e incollare qui l’errore, per favore? Inoltre, le righe di output relative alla compressione di theme_test_helper e theme_test_vendor dovrebbero apparire così:

12825804.271282336 Compressing: 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
Done compressing discourse/tests/theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js : 6.85 secs
6061451.556507351 Compressione in corso: 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'"
Errore di analisi a _theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js:27883,17
define("sinon", () => {
                 ^
ERRORE: Token inaspettato: 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: File o directory non esistente @ 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>'
Tasks: TOP => assets:precompile
(Consulta il tracciato completo eseguendo il task con --trace)

e successivamente, naturalmente, dopo aver completato il resto dei plugin, componenti del tema, ecc.:

FALLITO
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' fallito con codice di ritorno #<Process::Status: pid 5128 exit 1>
Posizione dell'errore: /pups/lib/pups/exec_command.rb:112:in `spawn'
esecuzione fallita con i parametri {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
29b7ee9f8297bdac0cc17dae6117ebe5aa94dcdf3f5dbfed4bf03b0bd7751cc0
** AVVIO FALLITO ** scorri verso l'alto e cerca eventuali messaggi di errore precedenti; potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
4 Mi Piace

Puoi entrare nel container e verificare quale versione di uglifyjs è installata?

./launcher enter app
uglifyjs --version

E anche discourse_docker sulla tua macchina host:

git rev-parse HEAD
5 Mi Piace

@Osama @downey,

abbiamo aggiornato l’immagine base alcune ore fa e ora stiamo forzando l’uso di una nuova immagine base in modo da poter compilare correttamente JavaScript del 2015. Potete eseguire un git pull e poi provare a ricostruire il progetto @downey? Ora dovrebbe utilizzare terser invece di uglify.

cc @pmusaraj

6 Mi Piace

Grazie a tutti. Sono stato assente per alcune ore serali a causa di impegni familiari, ma sono rimasto piacevolmente sorpreso nel vedere questo aggiornamento.

Buone notizie: ho eseguito git pull e ricompilato, e tutto sembrava funzionare correttamente. (Anche se ho ricevuto un avviso su meno di 5 GB disponibili, quindi ho dovuto liberare spazio rimuovendo alcune vecchie immagini Docker e riprovare una seconda volta.)

Ma per quanto ne so, ora è tutto a posto. :tada:

Fatemelo sapere se avete bisogno di ulteriori informazioni da parte mia.

8 Mi Piace