Pode ser uma boa ideia colocá-lo atrás de um feature flag depois, para que possamos iterar internamente sobre ele.
Ok, foi revertido e o commit está agora em tests-passed:
Obrigado por nos avisar e desculpe pelo transtorno.
Gostaria de saber se esse revert também resolveu o problema do OP. O OP (@devnull) relatou ter visto
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
o que não foi relatado por @pfaffman.
Também gostaria de comentar sobre isso:
Adicionar RAM pode, às vezes, melhorar o desempenho, mas para casos de falta real de memória, o que importa é RAM + swap. Se aumentar a swap não ajudar em uma condição de falta de memória, adicionar RAM também não ajudará.
Como @weallwegot relata, a falha persiste mesmo após adicionar 4 GB de swap, o que indica que algo (ou algo que existia) estava realmente muito faminto.
É o mesmo erro. A leitura do backtrace mostra uma referência a OOM na quarta linha.
Tudo isso é verdade. Ele tem < 1 GB de RAM, o que não é muito. Então, mesmo que ele não tivesse esse problema, eu ainda recomendaria que ele adicionasse mais RAM. Aliás, eu recomendo principalmente que qualquer pessoa com < 2 GB de RAM aumente sua memória RAM.
O problema foi resolvido para mim. Reconstruir o App funciona. Muito obrigado pelo seu esforço!
(Com certeza, entendo o conselho; é a lógica que parecia poder induzir ao erro.)
Aliás, consegui reconstruir com ambos os plugins sem problemas. Embora agora eu tenha 6 GB de swap, então não é exatamente uma comparação justa, rs.
Obrigado! Estou de volta aos negócios.
FYI acabei de mesclar essa alteração novamente, mas desta vez ela não deve quebrar o Bootstrap. Por favor, me avise se isso causar algum problema.
Acabei de ter exatamente o mesmo tipo de falha no bootstrap que o @pfaffman descreveu… erro de parse em theme_test_helper. Me avise se precisar de mais informações.
Você pode copiar e colar o erro aqui, por favor? Além disso, as linhas de saída ao redor da compressão de theme_test_helper e theme_test_vendor devem se parecer com isto:
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 Comprimindo: 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'"
Erro de parse em _theme_test_helper-790dafad7d3cb8a853fd3127fa3d99022120baf968cbb297066d166808ad3ae1.js:27883,17
define("sinon", () => {
^
ERRO: Token inesperado: 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 abortado!
Errno::ENOENT: Arquivo ou diretório não encontrado @ 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>'
Tarefas: TOP => assets:precompile
(Veja o rastreamento completo executando a tarefa com --trace)
e, claro, após executar o restante dos plugins, componentes de tema, etc.:
FALHA
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falhou com retorno #<Process::Status: pid 5128 exit 1>
Localização da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
29b7ee9f8297bdac0cc17dae6117ebe5aa94dcdf3f5dbfed4bf03b0bd7751cc0
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
Poderia, por favor, entrar no contêiner e verificar qual é a versão do uglifyjs?
./launcher enter app
uglifyjs --version
E também o discourse_docker na sua máquina host:
git rev-parse HEAD
atualizamos a imagem base há algumas horas e agora estamos forçando uma nova imagem base para que possamos compilar corretamente o Javascript de 2015. Por favor, faça um git pull e tente uma nova compilação, @downey? Agora deve usar o terser em vez do uglify.
cc @pmusaraj
Obrigado a todos. Fiquei ausente por algumas horas da noite por compromissos familiares, mas fiquei agradavelmente surpreso ao ver esta atualização.
Boas notícias: fiz git pull e reconstruí, e tudo pareceu funcionar bem. (Embora tenha recebido um aviso sobre menos de 5GB disponíveis, então precisei limpar algumas imagens antigas do Docker e tentar novamente.)
Mas, pelo que posso ver, está tudo bem agora. ![]()
Me avise se precisarem de mais alguma informação da minha parte.