Discourse 토픽 삭제 실패 및 오류 발생

AI 플러그인의 일부 문제로 Discourse 앱이 깨졌습니다: 모든 주제를 삭제할 수 없음을 확인했습니다(500 Internal Server Error).
AI 플러그인의 관리 패널에서 “LLM”, “Personas”, “Tools” 탭이 사라져 내 LLM 모델을 삭제할 수 없습니다.
독성 주제와 관련된 자동화를 제거하고, AI 플러그인을 비활성화했으며, Automation 플러그인도 비활성화했지만 문제는 여전히 지속됩니다.
이후 app.yml에서 AI 플러그인 항목을 삭제하고 앱을 파괴/재구축/시작했으나 문제도 여전히 지속됩니다.
Postgres DB를 확인해 보니 AI 플러그인 관련 테이블이 여전히 남아 있습니다.

토픽이나 게시물을 삭제하려고 할 때 발생하는 500 오류에 대한 세부 사항은 다음과 같습니다:

ArgumentError (Empty list of attributes to change)
lib/post_destroyer.rb:361:in `trash_public_post_actions'
lib/post_destroyer.rb:186:in `block in perform_delete'
lib/post_destroyer.rb:177:in `perform_delete'
lib/post_destroyer.rb:79:in `destroy'
app/controllers/topics_controller.rb:687:in `destroy'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:399:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22: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:360:in `call'

스택 트레이스

activerecord (7.1.3.4) lib/active_record/relation.rb:508:in `update_all'
lib/post_destroyer.rb:361:in `trash_public_post_actions'
lib/post_destroyer.rb:186:in `block in perform_delete'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
activesupport (7.1.3.4) lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
activerecord (7.1.3.4) lib/active_record/transactions.rb:212:in `transaction'
lib/post_destroyer.rb:177:in `perform_delete'
lib/post_destroyer.rb:79:in `destroy'
app/controllers/topics_controller.rb:687:in `destroy'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method' 
actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:399:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

또한, 다음 스택 트레이스를 가진 _Job exception: undefined method `scheduled?’ for nil_도 있습니다

/var/www/discourse/app/jobs/scheduled/run_problem_checks.rb:19:in `block in execute' 
activerecord-7.1.3.4/lib/active_record/relation/delegation.rb:100:in `each' 
activerecord-7.1.3.4/lib/active_record/relation/delegation.rb:100:in `each' 
/var/www/discourse/app/jobs/scheduled/run_problem_checks.rb:18:in `filter_map' 
/var/www/discourse/app/jobs/scheduled/run_problem_checks.rb:18:in `execute' 
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform' 
rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:288:in `each' 
/var/www/discourse/app/jobs/base.rb:288:in `perform' 
/var/www/discourse/app/jobs/base.rb:359:in `perform' 
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:122:in `process_queue' 
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:70:in `worker_loop' 
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:59:in `block (2 levels) in ensure_worker_threads' 

감사합니다

안녕하세요 @Alessandra_Casale / @ecesarini,

이러한 동작은 매우 드물며, 플러그인을 제거한 후에도 지속되므로 플러그인 때문이 아닙니다.

Discourse를 어떻게 설치했는지 더 자세한 정보를 공유해 주실 수 있을까요? 어떤 버전을 사용 중이신가요? 재빌드 후에도 이 오류가 계속 발생하고 있나요?

로그에 따르면 설치가 손상되어 파일이 누락된 것으로 보이므로, 도움을 드리기 위해 더 많은 정보가 필요합니다.

안녕하세요,
도와주셔서 감사합니다.

  • Discourse는 standalone.yml 샘플을 기반으로 한 구성 파일을 사용하여 docker로 배포됩니다. 해당 샘플은 공식 discourse_docker 저장소에서 찾을 수 있습니다. 우리는 필요한 필드와 설치할 플러그인 목록만 설정했습니다. 이 인스턴스는 여러 달 동안 실행되어 왔으며, AI 플러그인의 구성과 활성화 이전에는 이러한 유형의 문제가 발생한 적이 없습니다.
  • Discourse 버전/이미지 태그는 v3.3.2입니다.
  • 네, 인스턴스를 여러 번 파괴하고 재빌드했지만, 관리자가 웹 인터페이스에서 게시물이나 주제를 삭제하려고 할 때 500 에러가 지속됩니다. rails 콘솔을 통해 CLI로 요소를 삭제할 때는(예: Post.find(<#ID>).destroy) 에러가 발생하지 않습니다.

게시물/주제를 편집하거나 이동할 때는 모든 기능이 정상적으로 작동합니다.

도움이 될 수 있다면 플러그인 목록을 공유합니다.

          - git clone https://github.com/discourse/discourse-oauth2-basic.git
          - git clone https://github.com/discourse/discourse-openid-connect.git
          - git clone https://github.com/discourse/discourse-saml.git
          - git clone https://github.com/discourse/discourse-post-voting.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-docs.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          #- git clone https://github.com/discourse/discourse-ai.git
          - git clone https://github.com/discourse/discourse-math.git
          - git clone https://github.com/discourse/discourse-tooltips.git
          #- git clone https://github.com/discourse/discourse-jira.git
          - git clone https://github.com/discourse/discourse-category-experts.git
          - git clone https://github.com/discourse/discourse-topic-voting.git
          - git clone https://github.com/discourse/discourse-assign.git
          - git clone https://github.com/discourse/discourse-templates.git
          - git clone https://github.com/discourse/discourse-translator.git
          - git clone https://github.com/discourse/discourse-gamification.git

마지막 재빌드에서 ai와 jira는 주석 처리되어 있지만, 여전히 해당 에러들이 발생하고 있습니다.

안녕하세요 @Falco,
커뮤니티의 /logs 페이지에서 발견한 로그를 여기에 첨부합니다.

주제를 삭제하면:
ArgumentError (Empty list of attributes to change) lib/post_destroyer.rb:361:in trash_public_post_actions' lib/post_destroyer.rb:186:in block in perform_delete’ lib/post_destroyer.rb:177:in `perform

activerecord (7.1.3.4) lib/active_record/relation.rb:508:in `update_all'
lib/post_destroyer.rb:361:in `trash_public_post_actions'
lib/post_destroyer.rb:186:in `block in perform_delete'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
activesupport (7.1.3.4) lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
activerecord (7.1.3.4) lib/active_record/transactions.rb:212:in `transaction'
lib/post_destroyer.rb:177:in `perform_delete'
lib/post_destroyer.rb:79:in `destroy'
app/controllers/topics_controller.rb:687:in `destroy'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method' 
actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:399:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

게시물을 삭제하면:
ArgumentError (Empty list of attributes to change) lib/post_destroyer.rb:361:in trash_public_post_actions' lib/post_destroyer.rb:186:in block in perform_delete’ lib/post_destroyer.rb:177:in `perform

activerecord (7.1.3.4) lib/active_record/relation.rb:508:in `update_all'
lib/post_destroyer.rb:361:in `trash_public_post_actions'
lib/post_destroyer.rb:186:in `block in perform_delete'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
activesupport (7.1.3.4) lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
activerecord (7.1.3.4) lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
activerecord (7.1.3.4) lib/active_record/transactions.rb:212:in `transaction'
lib/post_destroyer.rb:177:in `perform_delete'
lib/post_destroyer.rb:79:in `destroy'
app/controllers/posts_controller.rb:362:in `destroy'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method' 
actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:399:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

두 로그는 11번째 줄에서만 다릅니다:

app/controllers/topics_controller.rb:687:in `destroy'
app/controllers/posts_controller.rb:362:in `destroy'

관심 가져주셔서 감사합니다!

안녕하세요, 저도 같은 문제를 겪고 있습니다. 게시물을 삭제할 수 없어요.

Discourse 버전 (docker)

3.3.2

(84fa512335)

정보:

Failed to handle exception in exception app middleware : ArgumentError : Empty list of attributes to change

백트레이스:

activerecord-7.1.3.4/lib/active_record/relation.rb:508:in `update_all' 
/var/www/discourse/lib/post_destroyer.rb:361:in `trash_public_post_actions' 
/var/www/discourse/lib/post_destroyer.rb:186:in `block in perform_delete' 
activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction' 
activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize' 
activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction' 
activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction' 
activerecord-7.1.3.4/lib/active_record/transactions.rb:212:in `transaction' 
/var/www/discourse/lib/post_destroyer.rb:177:in `perform_delete' 
/var/www/discourse/lib/post_destroyer.rb:79:in `destroy' 
/var/www/discourse/app/controllers/posts_controller.rb:362:in `destroy' 
actionpack-7.1.3.4/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' 
actionpack-7.1.3.4/lib/abstract_controller/base.rb:224:in `process_action' 
actionpack-7.1.3.4/lib/action_controller/metal/rendering.rb:165:in `process_action' 
actionpack-7.1.3.4/lib/abstract_controller/callbacks.rb:259:in `block in process_action' 
activesupport-7.1.3.4/lib/active_support/callbacks.rb:121:in `block in run_callbacks' 
/var/www/discourse/app/controllers/application_controller.rb:424:in `block in with_resolved_locale' 
i18n-1.14.5/lib/i18n.rb:351:in `with_locale' 
/var/www/discourse/app/controllers/application_controller.rb:424:in `with_resolved_locale' 
activesupport-7.1.3.4/lib/active_support/callbacks.rb:130:in `block in run_callbacks' 
activesupport-7.1.3.4/lib/active_support/callbacks.rb:141:in `run_callbacks' 
actionpack-7.1.3.4/lib/abstract_controller/callbacks.rb:258:in `process_action' 
actionpack-7.1.3.4/lib/action_controller/metal/rescue.rb:25:in `process_action' 
actionpack-7.1.3.4/lib/action_controller/metal/instrumentation.rb:74:in `block in process_action' 
activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `block in instrument' 
activesupport-7.1.3.4/lib/active_support/notifications/instrumenter.rb:58:in `instrument' 
activesupport-7.1.3.4/lib/active_support/notifications.rb:206:in `instrument' 
actionpack-7.1.3.4/lib/action_controller/metal/instrumentation.rb:73:in `process_action' 
actionpack-7.1.3.4/lib/action_controller/metal/params_wrapper.rb:261:in `process_action' 
activerecord-7.1.3.4/lib/active_record/railties/controller_runtime.rb:32:in `process_action' 
actionpack-7.1.3.4/lib/abstract_controller/base.rb:160:in `process' 
actionview-7.1.3.4/lib/action_view/rendering.rb:40:in `process' 
rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method' 
actionpack-7.1.3.4/lib/action_controller/metal.rb:227:in `dispatch' 
actionpack-7.1.3.4/lib/action_controller/metal.rb:309:in `dispatch' 
actionpack-7.1.3.4/lib/action_dispatch/routing/route_set.rb:49:in `dispatch' 
actionpack-7.1.3.4/lib/action_dispatch/routing/route_set.rb:32:in `serve' 
actionpack-7.1.3.4/lib/action_dispatch/journey/router.rb:51:in `block in serve' 
actionpack-7.1.3.4/lib/action_dispatch/journey/router.rb:131:in `block in find_routes' 
actionpack-7.1.3.4/lib/action_dispatch/journey/router.rb:124:in `each' 
actionpack-7.1.3.4/lib/action_dispatch/journey/router.rb:124:in `find_routes' 
actionpack-7.1.3.4/lib/action_dispatch/journey/router.rb:32:in `serve' 
actionpack-7.1.3.4/lib/action_dispatch/routing/route_set.rb:882:in `call' 
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call' 
rack-2.2.9/lib/rack/tempfile_reaper.rb:15:in `call' 
rack-2.2.9/lib/rack/conditional_get.rb:40:in `call' 
rack-2.2.9/lib/rack/head.rb:12:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/http/permissions_policy.rb:36:in `call' 
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call' 
/var/www/discourse/lib/middleware/anonymous_cache.rb:399:in `call' 
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call' 
/var/www/discourse/config/initializers/008-rack-cors.rb:26:in `call' 
rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context' 
rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/cookies.rb:689:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' 
activesupport-7.1.3.4/lib/active_support/callbacks.rb:101:in `run_callbacks' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/callbacks.rb:28:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' 
logster-2.20.0/lib/logster/middleware/reporter.rb:40:in `call' 
/var/www/discourse/lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app' 
/var/www/discourse/lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call' 
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call' 
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/request_id.rb:28:in `call' 
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call' 
rack-2.2.9/lib/rack/method_override.rb:24:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/executor.rb:14:in `call' 
rack-2.2.9/lib/rack/sendfile.rb:110:in `call' 
rack-mini-profiler-3.3.1/lib/mini_profiler.rb:334:in `call' 
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call' 
/var/www/discourse/lib/middleware/request_tracker.rb:360:in `call' 
actionpack-7.1.3.4/lib/action_dispatch/middleware/remote_ip.rb:92:in `call' 
railties-7.1.3.4/lib/rails/engine.rb:536:in `call' 
railties-7.1.3.4/lib/rails/railtie.rb:226:in `public_send' 
railties-7.1.3.4/lib/rails/railtie.rb:226:in `method_missing' 
rack-2.2.9/lib/rack/urlmap.rb:74:in `block in call' 
rack-2.2.9/lib/rack/urlmap.rb:58:in `each' 
rack-2.2.9/lib/rack/urlmap.rb:58:in `call' 
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load' 
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>' 

플러그인:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-reactions.git
          # doc-categories is broken on current version discourse
          #- git clone https://github.com/discourse/discourse-doc-categories.git 
          - git clone https://github.com/discourse/discourse-solved-reminders-plugin.git
          - git clone https://github.com/discourse/discourse-subscriptions.git
          - git clone https://github.com/discourse/discourse-post-voting.git
          - git clone https://github.com/discourse/discourse-newsletter-integration.git
          - git clone https://github.com/communiteq/discourse-private-replies.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-user-notes.git
          - git clone https://github.com/discourse/discourse-ai.git
          - git clone https://github.com/paviliondev/discourse-tickets.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/communiteq/discourse-geo-blocking.git
          - git clone https://github.com/discourse/discourse-translator.git
          - git clone https://github.com/Ebsy/discourse-nationalflags.git
          - git clone https://github.com/featheredtoast/discourse-pwned-passwords.git
          - git clone https://github.com/discourse/discourse-templates.git
          - git clone https://github.com/discourse/discourse-yearly-review.git
          - git clone https://github.com/paviliondev/discourse-legal-tools.git
          - git clone https://github.com/discourse/discourse-assign.git
          - git clone https://github.com/discourse/discourse-signatures.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/singerscreations/discourse-stopforumspam.git

현재 어떤 게시물도 삭제할 수 없습니다.
문제가 해결된다면 영원히 감사하겠습니다.