내가 자원봉사를 하는 포럼에서 발생하는 오류

여러분 안녕하세요, 이 포럼의 자원 관리자입니다. 최근 429 에러, 이메일 전달 실패 및 기타 여러 문제가 발생하고 있습니다. Sidekiq가 500MB를 초과하는 메모리가 필요하다는 점과 이메일 서버 큐에 공간이 부족하다는 점을 확인했습니다. 기본 서버에 접근 권한이 없어 다른 문제가 있는지 파악하기 어렵지만, 다른 분들이 조언을 주시면 감사하겠습니다. 감사합니다!

Discourse::InvalidParameters (string contains null byte) app/controllers/application_controller.rb:134:in `block in <class:ApplicationController>' lib/middleware/omniauth_bypass_middleware.rb:74:in `c

메시지 (919건 보고됨)

Discourse::InvalidParameters (string contains null byte)
app/controllers/application_controller.rb:134:in block in <class:ApplicationController>' lib/middleware/omniauth_bypass_middleware.rb:74:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:387:in call’
lib/middleware/gtm_script_nonce_injector.rb:10:in call' config/initializers/100-quiet_logger.rb:20:in call’
config/initializers/100-silence_logger.rb:29:in call' lib/middleware/enforce_hostname.rb:24:in call’
lib/middleware/request_tracker.rb:233:in `call’

스택 트레이스

app/controllers/application_controller.rb:134:in block in <class:ApplicationController>' activesupport (7.0.7) lib/active_support/rescuable.rb:116:in instance_exec’
activesupport (7.0.7) lib/active_support/rescuable.rb:116:in block in handler_for_rescue' activesupport (7.0.7) lib/active_support/rescuable.rb:92:in rescue_with_handler’
activesupport (7.0.7) lib/active_support/rescuable.rb:165:in rescue_with_handler' actionpack (7.0.7) lib/action_controller/metal/rescue.rb:26:in rescue in process_action’
actionpack (7.0.7) lib/action_controller/metal/rescue.rb:22:in process_action' actionpack (7.0.7) lib/action_controller/metal/instrumentation.rb:67:in block in process_action’
activesupport (7.0.7) lib/active_support/notifications.rb:206:in block in instrument' activesupport (7.0.7) lib/active_support/notifications/instrumenter.rb:24:in instrument’

Job exception: execution expired

메시지 (1704건 보고됨)

Job exception: execution expired

스택 트레이스

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in initialize' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in open’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in tcp_socket' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:641:in block in do_start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/timeout-0.4.0/lib/timeout.rb:186:in block in timeout' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/timeout-0.4.0/lib/timeout.rb:193:in timeout’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:640:in do_start' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:610:in start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:109:in start_smtp_session' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:100:in deliver!’

Job exception: Net::ReadTimeout

메시지 (75565건 보고됨)
Job exception: Net::ReadTimeout
스택 트레이스

/usr/local/lib/ruby/3.2.0/net/protocol.rb:229:in rbuf_fill' /usr/local/lib/ruby/3.2.0/net/protocol.rb:199:in readuntil’
/usr/local/lib/ruby/3.2.0/net/protocol.rb:377:in each_message_chunk' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:958:in block in retr’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:1016:in critical' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:956:in retr’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:810:in pop' /var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:47:in block (2 levels) in poll_pop3’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in each' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in each_mail’

Job exception: X-MS-Exchange-CrossTenant-FromEntityHeader: Internet

Job exception: X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
스택 트레이스

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:1004:in check_response' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:984:in quit’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:603:in do_finish' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:533:in ensure in start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:533:in start' /var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in poll_pop3’
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in execute' /var/www/discourse/app/jobs/base.rb:292:in block (2 levels) in perform’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in with_connection' /var/www/discourse/app/jobs/base.rb:279:in block in perform’

Job exception: Received-SPF: None (no SPF record) ...<UNKNOWN>

메시지 (4건 보고됨)
Job exception: Received-SPF: None (no SPF record) identity=helo; client-ip=…; envelope-from=<>; receiver=
스택 트레이스

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:1004:in check_response' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:984:in quit’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:603:in do_finish' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:533:in ensure in start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:533:in start' /var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in poll_pop3’
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in execute' /var/www/discourse/app/jobs/base.rb:292:in block (2 levels) in perform’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in with_connection' /var/www/discourse/app/jobs/base.rb:279:in block in perform’

Job exception: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use

메시지 (92건 보고됨)
Job exception: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use
스택 트레이스

Job exception: by mx with LMTP

메시지
Job exception: by mx with LMTP
스택 트레이스
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:1004:in check_response' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:984:in quit’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:603:in do_finish' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:533:in ensure in start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:533:in start' /var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in poll_pop3’
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in execute' /var/www/discourse/app/jobs/base.rb:292:in block (2 levels) in perform’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in with_connection' /var/www/discourse/app/jobs/base.rb:279:in block in perform’

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:126:in block in wait_poll' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:115:in loop’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:115:in wait_poll' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:76:in internal_poll’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:202:in internal_poll' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:71:in block in poll’
/usr/local/lib/ruby/3.2.0/monitor.rb:202:in synchronize' /usr/local/lib/ruby/3.2.0/monitor.rb:202:in mon_synchronize’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:80:in synchronize' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:71:in poll’

Failed to send push notification : Timeout::Error : Timeout::Error

메시지 (52건 보고됨)
Failed to send push notification : Timeout::Error : Timeout::Error
스택 트레이스

/var/www/discourse/lib/final_destination/resolver.rb:31:in block in lookup' /var/www/discourse/lib/final_destination/resolver.rb:8:in synchronize’
/var/www/discourse/lib/final_destination/resolver.rb:8:in lookup' /var/www/discourse/lib/final_destination/ssrf_detector.rb:127:in lookup_ips’
/var/www/discourse/lib/final_destination/ssrf_detector.rb:95:in lookup_and_filter_ips' /var/www/discourse/lib/final_destination/http.rb:13:in connect’
/usr/local/lib/ruby/3.2.0/net/http.rb:1248:in do_start' /usr/local/lib/ruby/3.2.0/net/http.rb:1237:in start’
/usr/local/lib/ruby/3.2.0/net/http.rb:1817:in request' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.1.1/lib/patches/net_patches.rb:19:in block in request_with_mini_profiler’

[details=" NoMethodError (undefined method `downcase’ for #<ActionController::Parameters {“proto”=>{“expect”=>“100-continue”}, “constructor”=>{“prototype”=>{“expect”=>“100-continue”}}} permitted: false>) app "]
메시지 (65건 보고됨)

Failed to handle exception in exception app middleware : ActionController::UnfilteredParameters : unable to convert unpermitted parameters to hash

메시지 (167건 보고됨)

Failed to handle exception in exception app middleware : ActionController::UnfilteredParameters : unable to convert unpermitted parameters to hash

스택 트레이스

actionpack-7.0.7/lib/action_controller/metal/strong_parameters.rb:289:in to_h' actionpack-7.0.7/lib/action_controller/metal/strong_parameters.rb:336:in to_query’
actionpack-7.0.7/lib/action_dispatch/http/url.rb:85:in block in add_params' actionpack-7.0.7/lib/action_dispatch/http/url.rb:85:in reject!’
actionpack-7.0.7/lib/action_dispatch/http/url.rb:85:in add_params' actionpack-7.0.7/lib/action_dispatch/http/url.rb:76:in path_for’
actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:333:in block in <class:RouteSet>' actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:846:in url_for’
actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:271:in call' actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:327:in block in define_url_helper’

NoMethodError (undefined method downcase' for #<ActionController::Parameters {"__proto__"=>{"expect"=>"100-continue"}, "constructor"=>{"prototype"=>{"expect"=>"100-continue"}}} permitted: false>) app/models/tag.rb:26:in map’
app/models/tag.rb:26:in block in <class:Tag>' lib/topic_query.rb:1241:in filter_by_tags’
lib/topic_query.rb:768:in default_results' lib/topic_query.rb:538:in latest_results’
lib/topic_query.rb:281:in list_latest' app/controllers/tags_controller.rb:159:in public_send’
app/controllers/tags_controller.rb:159:in block (2 levels) in <class:TagsController>' app/controllers/tags_controller.rb:181:in show’
app/controllers/application_controller.rb:421:in block in with_resolved_locale' app/controllers/application_controller.rb:421:in with_resolved_locale’
lib/middleware/omniauth_bypass_middleware.rb:74:in call' lib/content_security_policy/middleware.rb:12:in call’
lib/middleware/anonymous_cache.rb:387:in call' lib/middleware/gtm_script_nonce_injector.rb:10:in call’
config/initializers/100-quiet_logger.rb:20:in call' config/initializers/100-silence_logger.rb:29:in call’
lib/middleware/enforce_hostname.rb:24:in call' lib/middleware/request_tracker.rb:233:in call’

스택 트레이스

app/models/tag.rb:26:in map' app/models/tag.rb:26:in block in class:Tag’
activerecord (7.0.7) lib/active_record/relation.rb:435:in instance_exec' activerecord (7.0.7) lib/active_record/relation.rb:435:in block in _exec_scope’
activerecord (7.0.7) lib/active_record/relation.rb:881:in _scoping' activerecord (7.0.7) lib/active_record/relation.rb:435:in _exec_scope’
activerecord (7.0.7) lib/active_record/scoping/named.rb:175:in block in scope' lib/topic_query.rb:1241:in filter_by_tags’
lib/topic_query.rb:768:in default_results' lib/topic_query.rb:538:in latest_results’
[/details]

Sidekiq is consuming too much memory (using: 504.11M)

메시지 (4012건 보고됨)

Sidekiq is consuming too much memory (using: 504.11M) for ‘discuss.domain.com’, restarting

스택 트레이스

config/unicorn.conf.rb:164:in check_sidekiq_heartbeat' config/unicorn.conf.rb:244:in master_sleep’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:295:in join' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/unicorn-6.1.0/bin/unicorn:128:in <top (required)>’
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in load' /var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in ’

서버를 업그레이드하고 yml 파일의 일부 설정을 변경해야 하는 것 같습니다. discourse 내에서 이를 수행할 수 없습니다.

Sidekiq의 RAM 용량이 1GB로 증가되었고, Amazon 이메일 큐는 비워졌습니다. 현재 확인되는 로그 오류는 모두 Job exception: execution expired입니다.

메시지 (532건 보고됨)

Job exception: execution expired

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in initialize' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in open’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in tcp_socket' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:641:in block in do_start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/timeout-0.4.1/lib/timeout.rb:186:in block in timeout' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/timeout-0.4.1/lib/timeout.rb:193:in timeout’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:640:in do_start' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:610:in start’
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:109:in start_smtp_session' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:100:in deliver!’