Erro interno do servidor 500 ao votar em uma enquete

Ao votar em uma enquete, todos os usuários da minha instância recebem um erro 500 no servidor.

Há um erro nos logs:

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

Estou nas versões mais recentes do software:

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

O que posso fazer para solucionar o problema?

2 curtidas

Você consegue reproduzi-lo em uma postagem totalmente nova? Você consegue reproduzir no meta? Qual é a marcação da enquete?

1 curtida

Repro no meta (omita o atributo min)

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

Causado por este commit, min não é verificado quanto à existência aqui @tgxworld .

6 curtidas

Obrigado! Resolveremos isso no início da próxima semana.

5 curtidas

Isso será corrigido em

@kuba-orlik obrigado por relatar e @RGJ obrigado por depurar.

4 curtidas

A mensagem de erro para a enquete de teste acima agora é

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

o que é um erro realmente confuso.

Você pode me fornecer o passo de reprodução? Não consigo obter o erro que você mencionou acima.

Certo.

  1. Pressione o botão.

firefox_xbAvsVUYLA

2 curtidas

O icic, este é um bug diferente porque você não tem permissão para votar em uma enquete sem selecionar nenhuma opção.

Isso será corrigido em

4 curtidas

Este tópico foi fechado automaticamente após 4 dias. Novas respostas não são mais permitidas.