Potrebbe essere una buona idea metterlo dietro un feature flag in seguito, così da poterlo iterare internamente.
Ok, è stato annullato e il commit ora è in tests-passed:
Grazie per avercelo fatto sapere e scusa per l’inconveniente.
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.
È lo stesso errore. Leggere il backtrace mostra un riferimento a OOM nella quarta riga.
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.
Il problema è stato risolto per me. Ricompila l’app funziona. Grazie mille per il tuo impegno!
(Assolutamente, capisco il consiglio, è la logica che sembrava potesse trarre in inganno.)
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.
Grazie! Sono di nuovo operativo.
FYI ho appena fuso di nuovo quella modifica, ma questa volta non dovrebbe rompere Bootstrap. Fammi sapere se questo causa problemi.
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.
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.
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
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
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. ![]()
Fatemelo sapere se avete bisogno di ulteriori informazioni da parte mia.