gassim
(Al-Gassim Sharaf Addin)
1
在最新的更新之前,有一个使用自动化插件的自动化,其功能如下(经过测试,无需任何更改即可成功运行):
- 脚本:发送私信
- 时间:“用户被添加到群组时”
- 跟踪的群组:“一个需要群组所有者先‘批准请求’的群组”
- 脚本选项:一条私信(经过测试,成功运行)。
目前,在版本:3.5.0.beta3-dev(231e9ca99a) 中,在尝试批准用户时会显示“内部服务器错误”。
以下是出现的错误:
PG::NotNullViolation (ERROR: null value in column "total_time" of relation "discourse_automation_stats" violates not-null constraint
DETAIL: Failing row contains (18, 8, 2025-04-10, 2025-04-10 07:34:42.740189, null, null, null, null, 1).
)
lib/mini_sql_multisite_connection.rb:109:in `run'
lib/plugin/instance.rb:609:in `block in on'
lib/discourse_event.rb:12:in `block in trigger'
lib/discourse_event.rb:12:in `trigger'
app/models/group.rb:869:in `trigger_user_added_event'
app/models/group.rb:838:in `add'
app/controllers/groups_controller.rb:502:in `block in handle_membership_request'
app/controllers/groups_controller.rb:500:in `handle_membership_request'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13: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/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
我怀疑这与此处提到的 discourse_automation_stats 表的新更改有关:
[quote] @sam
[/quote]
谢谢!
1 个赞
j.jaffeux
(Joffrey Jaffeux)
4
感谢您的报告。我认为您还有另一个错误,但我们添加的统计代码隐藏了它。
这应该可以解决问题:
然后我们就能看到实际的错误了。
2 个赞
j.jaffeux
(Joffrey Jaffeux)
6
是的,请尽管如此,虽然我怀疑从这里开始,你可能自己就能修好它。
2 个赞
gassim
(Al-Gassim Sharaf Addin)
7
感谢您的耐心等待!
我遇到了另一个通用问题 {"status":422,"error":"Unprocessable Entity"}。请看我点击“批准”后的截图:
负载是表单数据(application/x-www-form-urlencoded; charset=UTF-8):
user_id=10127&accept=true
谢谢!不过我不确定为什么它会显示“无法处理的实体”,有什么建议吗?
gassim
(Al-Gassim Sharaf Addin)
9
你好
谢谢!还是同样的回复……
我做了进一步的调查,发现……
已经发生了两件事:
- 用户已成功添加到群组
- 自动消息已发送
- 当使用管理员帐户接受群组请求时,此“不可处理实体”错误不会出现,但对于非管理员群组所有者用户来说,它仍然出现(即使现在 1 和 2 对管理员/非管理员都已成功)。
现在看来我们正在讨论一个新问题(鉴于以上问题现在已正常工作,但只有结果不清楚,因为它被这个新问题阻止了……)……
甚至服务器错误日志也发生了变化:
info log
ActiveRecord::RecordNotSaved (Something has gone wrong. Perhaps this topic was closed or deleted while you were looking at it?)
lib/post_creator.rb:238:in `create!'
app/controllers/groups_controller.rb:523:in `handle_membership_request'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13: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/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
backtrace log
lib/post_creator.rb:238:in `create!'
app/controllers/groups_controller.rb:523:in `handle_membership_request'
actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.13) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.13) lib/rack/head.rb:12:in `call'
actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.13) lib/rack/method_override.rb:24:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'
rack (2.2.13) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.13) lib/rack/urlmap.rb:58:in `each'
rack (2.2.13) 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>'
env log
| hostname |
community-app |
| process_id |
913 |
| application_version |
6fc5ce968892b980c3db6b19b49683fb38a59e29 |
| HTTP_HOST |
meta.discourse.org |
| REQUEST_URI |
/groups/200/handle_membership_request.json |
| REQUEST_METHOD |
PUT |
| HTTP_USER_AGENT |
Mozilla/5.0 |
| HTTP_ACCEPT |
/ |
| HTTP_REFERER |
https://meta.discourse.org/g/group_name/requests |
| HTTP_X_FORWARDED_FOR |
0.0.0.0 |
| HTTP_X_REAL_IP |
0.0.0.0 |
| username |
copuxtest |
| time |
7:37 am |
| params |
|
| user_id |
5836 |
| accept |
true |
j.jaffeux
(Joffrey Jaffeux)
10
抱歉,但我非常不明白这与原始问题有什么关系。据我所知,您不是通过自动化来获得此错误的,而是直接在管理员界面中执行操作。
1 个赞
gassim
(Al-Gassim Sharaf Addin)
11
你好!
感谢你花时间处理这个问题,我想现在已经解决了。起初,错误在我们激活自动化后才出现(第一个帖子中发布的第一个错误),然后在你修复后,错误消失了,但日志显示了另一个错误,如上所述。
在我执行以下操作后,错误消失了:
- 关闭自动化
- 清除浏览器缓存
- 重新开启自动化
在开关自动化并清除缓存后,所有错误都消失了。谢谢!
j.jaffeux
(Joffrey Jaffeux)
12
好的,非常令人惊讶,但如果对您有用,那就太好了!感谢您的更新。
1 个赞
j.jaffeux
(Joffrey Jaffeux)
关闭
14
此主题在最后回复后 3 天自动关闭。不再允许新回复。