投票时出现500内部服务器错误

在投票时,我的实例的所有用户都会收到 500 服务器错误。

日志中有一个错误:

Message (4 copies reported)

ArgumentError (comparison of Integer with nil failed)
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'

Backtrace

plugins/poll/lib/poll.rb:318:in `<'
plugins/poll/lib/poll.rb:318:in `validate_votes!'
plugins/poll/lib/poll.rb:19:in `block in vote'
plugins/poll/lib/poll.rb:368:in `block in change_vote'
activerecord (6.1.4.1) lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `block in transaction'
activerecord (6.1.4.1) lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
activesupport (6.1.4.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
activesupport (6.1.4.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport (6.1.4.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport (6.1.4.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'

Env

HTTP HOSTS: forum.internet-czas-dzialac.pl

我使用的是最新版本的软件:

discourse 23b75d8a2b
docker_manager e5ff940
discourse-chat-integration 693c7e9
styleguide 23b75d8a

我该如何排查这个问题?

2 个赞

你可以在全新的帖子中重现它吗?你可以在元(meta)中重现它吗?投票标记是什么?

1 个赞

在 meta 上重现(省略 min 属性)

[poll type=multiple results=always max=2 chartType=bar]
* a
* b
[/poll]
  • a
  • b
0 voters

这是由这个 commit 引起的,min这里 没有被检查是否存在 @tgxworld

6 个赞

好的!我们将在下周初解决这个问题。

5 个赞

将在以下位置修复:

@kuba-orlik 感谢您的报告,@RGJ 感谢您的调试。

4 个赞

上面测试投票的错误消息现在是

param is missing or the value is empty: options Did you mean? action post_id controller poll_name

这是一个非常令人困惑的错误。

你能提供重现步骤吗?我似乎无法重现你上面提到的错误。

好的。

  1. 按下按钮。

firefox_xbAvsVUYLA

2 个赞

这个冰冰这是一个不同的错误,因为不允许您在不选择任何选项的情况下对投票进行投票。

这将在以下位置修复:

4 个赞

此主题已在 4 天后自动关闭。不再允许回复。