Discourse 话题删除失败并出现错误

AI 插件中的某个东西破坏了 Discourse 应用:我发现所有主题都无法删除(500 内部服务器错误)。
在 AI 插件的管理面板中,“LLM”、“Personas”和“Tools”选项卡已消失,因此我无法删除我的 LLM 模型。
我删除了与有毒主题相关的自动化,禁用了 AI 插件,禁用了 Automation 插件,但问题仍然存在。
然后我从 app.yml 中删除了 AI 插件行,并重建/启动了应用,但问题仍然存在。
我们查看了 postgres 数据库,其中仍然存在一些关于 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 是通过 docker 部署的,使用的是基于 standalone.yml 示例的配置文件,你可以在官方仓库 discourse_docker 仓库中找到。我们只设置了必需的字段和要安装的插件列表。该实例已运行数月,在此类问题发生之前从未出现过,直到配置和激活了 AI 插件。
  • Discourse 版本/镜像标签是 v3.3.2
  • 是的,我们已经销毁并重建了实例数次,但在管理员尝试在 Web 界面中删除任何帖子或主题时,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

在上次重建中,aijira 被注释掉了,但这些错误仍然发生。

Hi @Falco ,
I add here the log that I find in our community /logs page.

If I delete a topic:
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>'

If I delete a post:
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>'

The two logs differ only in the 11th row:

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

Thanks in advance for your attention!

你好,我遇到了同样的问题,无法删除帖子。

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

我现在无法删除任何帖子。
如果问题能得到解决,我将感激不尽。

1 个赞