Ошибка обновления Discourse с Terser

Всем привет,

У меня возникли проблемы с обновлением форума Discourse через панель администратора, и мне нужна помощь, чтобы разобраться, что именно идёт не так. При попытке обновления появляется сообщение об ошибке, и весь процесс прерывается. Вот что происходит:
Я использую функцию «Обновить Discourse» из панели администратора.

При обновлении через панель администратора многократно отображается строка «False False False», после чего появляется ошибка: «Обновление Discourse не удалось» со следующим сообщением:

false - ./node_modules/.bin - /var/www/discourse/node_modules/.bin - /var/www/discourse/vendor/bundle/ruby/3.3.0/bin - /usr/local/sbin - /usr/local/bin - /usr/sbin - /usr/bin - /sbin - /bin ПЛАТФОРМА: linux x64 СВОБОДНАЯ ПАМЯТЬ: 61129658368 ОБЩАЯ ПАМЯТЬ: 67272630272 ВРЕМЯ РАБОТЫ: 30579.58 СРЕДНЯЯ НАГРУЗКА: 1.15,0.42,0.16 ПРОЦЕССОРЫ: - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 4300 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 3223 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 2548 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 4039 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1358 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1200 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1200 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1200 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 3954 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1200 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1199 - Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz - 1676 ПОРЯДОК БУКВ: LE ВЕРСИИ: - acorn: 8.14.0 - ada: 2.9.2 - amaro: 0.3.0 - ares: 1.34.4 - brotli: 1.1.0 - cjs_module_lexer: 1.4.1 - cldr: 46.0 - icu: 76.1 - llhttp: 9.2.1 - modules: 127 - napi: 10 - nbytes: 0.1.1 - ncrypto: 0.0.1 - nghttp2: 1.64.0 - nghttp3: 1.6.0 - ngtcp2: 1.10.0 - node: 22.14.0 - openssl: 3.0.15+quic - simdjson: 3.10.1 - simdutf: 6.0.3 - sqlite: 3.47.2 - tz: 2024b - undici: 6.21.1 - unicode: 16.0 - uv: 1.49.2 - uvwasi: 0.0.21 - v8: 12.4.254.21-node.22 - zlib: 1.3.0.1-motley-82a5fec ОШИБКА. Сводка: - broccoliBuilderErrorStack: Error: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js из плагина Terser не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) Error: не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) at TerserPlugin.buildError (/var/www/discourse/node_modules/.pnpm/terser-webpack-plugin@5.3.11_@swc+core@1.11.1_esbuild@0.25.0_webpack@5.98.0_@swc+core@1.11.1_esbuild@0.25.0_/node_modules/terser-webpack-plugin/dist/index.js:266:20) at /var/www/discourse/node_modules/.pnpm/terser-webpack-plugin@5.3.11_@swc+core@1.11.1_esbuild@0.25.0_webpack@5.98.0_@swc+core@1.11.1_esbuild@0.25.0_/node_modules/terser-webpack-plugin/dist/index.js:455:26 - code: [undefined] - codeFrame: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js из плагина Terser не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) Error: не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) - errorMessage: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js из плагина Terser не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) Error: не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) at PackagerRunner (@embroider/webpack) - errorType: Build Error - location: - column: [undefined] - file: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js - line: [null] - treeDir: [undefined] - message: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js из плагина Terser не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) Error: не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) at PackagerRunner (@embroider/webpack) - name: Error - nodeAnnotation: @embroider/webpack - nodeName: PackagerRunner - originalErrorMessage: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js из плагина Terser не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) Error: не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) - stack: Error: assets/chunk.cbb4d6362a2090db10ec.d41d8cd9.js из плагина Terser не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) Error: не удалось обработать: не удалось вывести данные в стандартный поток: ресурс временно недоступен (ошибка ОС 11) at TerserPlugin.buildError (/var/www/discourse/node_modules/.pnpm/terser-webpack-plugin@5.3.11_@swc+core@1.11.1_esbuild@0.25.0_webpack@5.98.0_@swc+core@1.11.1_esbuild@0.25.0_/node_modules/terser-webpack-plugin/dist/index.js:266:20) at /var/www/discourse/node_modules/.pnpm/terser-webpack-plugin@5.3.11_@swc+core@1.11.1_esbuild@0.25.0_webpack@5.98.0_@swc+core@1.11.1_esbuild@0.25.0_/node_modules/terser-webpack-plugin/dist/index.js:455:26 ================================================================================= Менеджер Docker: НЕ УДАЛОСЬ ОБНОВИТЬ #<RuntimeError: RuntimeError> /var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in run' /var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112:in upgrade’ /var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in block in <main>' /var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in fork’ /var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in <main>' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in load’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in block in perform' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/execution_wrapper.rb:91:in wrap’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:70:in conditional_executor' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:43:in perform’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in run' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in invoke_command’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in invoke_command' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in dispatch’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in perform' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:71:in block in invoke’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in with_argv' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in invoke’ /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in <main>' /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in require’ /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in block (2 levels) in replace_require' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in require’ bin/rails:18:in `’ Запуск 7 остановленных ранее рабочих процессов Unicorn

Моя конфигурация:

Работает на Linux (версия x64).

Память: 67 ГБ всего, 61 ГБ свободно (поэтому я не думаю, что проблема в памяти).

Средняя нагрузка системы: 1.15, 0.42, 0.16.

Используется Node.js версии 22.14.0.

Я спросил Grok, в чём может быть проблема:
Судя по тому, что я прочитал, возможно, дело в том, что слишком много процессов одновременно пытаются записать данные в консоль, что вызывает затор.

Обновление Discourse через SSH с помощью ./launcher проходит нормально.

Я пока не пробовал много способов исправить это, так как не уверен, с чего начать. Кто-нибудь сталкивался с подобным?

Спасибо за любую помощь!

Может быть нехватка виртуальной памяти: попробуйте добавить оперативную память или добавить подкачку. (Ошибка при вилке с EAGAIN может быть нехваткой памяти)

Посмотрите на

free -h
vmstat 5 5

Есть два параметра ядра, которые могут повысить эффективность использования памяти

cat /proc/sys/vm/overcommit_memory
cat /sys/kernel/mm/transparent_hugepage/enabled

(См. Мнение MKJ о конфигурации развёртывания Discourse)

@Ed_S спасибо. У меня доступно 61 ГБ оперативной памяти из 67 ГБ. Не может ли это быть виртуальная память?

Это много, но vmstat и free могут показать, как используется память.

Проверяли ли вы вывод dmesg на наличие сообщений о памяти и OOM?

Какого размера ваша база данных?

Вы недавно выполняли пересборку через командную строку? Вы видели обновление PostgreSQL 15?

Извините за задержку с ответом. Проблема, похоже, исчезла сама собой, и мы не понимаем почему. Я думаю, что это был/является плагин, так как я отключил их все, и сайт обновился нормально через панель администратора. Я ожидал, что проблема вернется при повторном включении плагинов, но этого не произошло. Мне нужно будет проверить снова, вернется ли она.

Спасибо за помощь.