‘모두 업데이트’ 후 포럼이 뜨지 않음

몇 가지 공식 플러그인과 내 Discourse 버전이 업데이트가 필요하다는 것을 확인했습니다. 단순히 새로운 커밋 해시일 뿐, 큰 문제는 아닙니다.
하지만 업데이트를 진행한 후, 그 dreaded(두려운) 'Oops! 이 토론 포럼을 구동하는 소프트웨어에서 예상치 못한 문제가 발생했습니다. 불편을 드려 죄송합니다.'라는 오류가 나타났습니다.
/logs에 기록된 오류는 다음과 같습니다:


89건의 메시지가 보고된 오류는 다음과 같습니다:


메시지 (89건 보고됨)

Failed to warm up pretty text: JavaScript was terminated (either by timeout or explicitly)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:237:in `eval_unsafe'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:237:in `block (2 levels) in eval'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:378:in `timeout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:236:in `block in eval'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:234:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:234:in `eval'
/var/www/discourse/lib/discourse_js_processor.rb:98:in `create_new_context'
/var/www/discourse/lib/discourse_js_processor.rb:114:in `block in v8'
/var/www/discourse/lib/discourse_js_processor.rb:112:in `synchronize'
/var/www/discourse/lib/discourse_js_processor.rb:112:in `v8'
/var/www/discourse/lib/discourse_js_processor.rb:127:in `block in v8_call'
/var/www/discourse/lib/discourse_js_processor.rb:126:in `synchronize'
/var/www/discourse/lib/discourse_js_processor.rb:126:in `v8_call'
/var/www/discourse/lib/discourse_js_processor.rb:151:in `perform'
/var/www/discourse/lib/pretty_text.rb:34:in `apply_es6_file'
/var/www/discourse/lib/pretty_text.rb:41:in `block in ctx_load_directory'
/var/www/discourse/lib/pretty_text.rb:39:in `each'
/var/www/discourse/lib/pretty_text.rb:39:in `ctx_load_directory'
/var/www/discourse/lib/pretty_text.rb:77:in `create_es6_context'
/var/www/discourse/lib/pretty_text.rb:136:in `block in v8'
/var/www/discourse/lib/pretty_text.rb:134:in `synchronize'
/var/www/discourse/lib/pretty_text.rb:134:in `v8'
/var/www/discourse/lib/pretty_text.rb:177:in `block in markdown'
/var/www/discourse/lib/pretty_text.rb:686:in `block in protect'
/var/www/discourse/lib/pretty_text.rb:686:in `synchronize'
/var/www/discourse/lib/pretty_text.rb:686:i...

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `block in error'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `error'
/var/www/discourse/lib/discourse.rb:947:in `rescue in after_fork'
/var/www/discourse/lib/discourse.rb:943:in `after_fork'
/var/www/discourse/lib/demon/base.rb:248:in `establish_app'
/var/www/discourse/lib/demon/base.rb:183:in `block in run'
/var/www/discourse/lib/demon/base.rb:180:in `fork'
/var/www/discourse/lib/demon/base.rb:180:in `run'
/var/www/discourse/lib/demon/base.rb:173:in `start'
/var/www/discourse/lib/demon/base.rb:93:in `restart'
/var/www/discourse/lib/demon/sidekiq.rb:36:in `block in heartbeat_check'
/var/www/discourse/lib/demon/sidekiq.rb:27:in `each'
/var/www/discourse/lib/demon/sidekiq.rb:27:in `heartbeat_check'
config/unicorn.conf.rb:131:in `block (2 levels) in reload'

다른 오류들도 확인해 주길 원하시면 알려주세요.

아래 명령어를 시도해 보셨나요?

./launcher rebuild app

그렇게 생각해보지 못했네요, ㅋㅋ. 실행해볼게요. 감사합니다!

@pfaffman 터미널을 닫아도 백그라운드에서 계속 실행되는 거죠?

대부분 그렇지 않습니다.

이 기능을 사용하려면 screen이나 tmux와 같은 세션 관리자를 사용해야 합니다.

그런 질문을 하고 있다면, 답은 "아니요"입니다. 터미널을 열어 두어야 하며, 최소한 오류 없이 완료되었는지 확인해야 합니다. 아마도 해야 할 일은, 다른 창에서 텍스트가 흘러가는 것을 보는 것보다 덜 지루한 일을 하는 동안 볼 수 있는 한 창에 터미널을 열어 두는 것입니다.

질문이 "ssh 세션을 유지하여 연결이 끊겨도 닫히지 않고 나중에 다시 연결할 수 있는 방법이 뭐냐"라면, screen이나 tmux에 대해 알아봐야 합니다. 터미널 세션이 어떻게 작동하는지에 대한 이해도가 현재로서는 터미널을 열어 두는 것이 가장 좋은 방법인 것 같습니다.

포럼을 재구축했고, 이제 정상적으로 작동합니다.