Erreur interne du serveur 500 lors du vote dans un sondage

Lors du vote dans un sondage, tous les utilisateurs de mon instance reçoivent une erreur serveur 500.

Il y a une erreur dans les logs :

Message (4 copies signalées)

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/middleware/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

Je suis sur les dernières versions du logiciel :

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

Que puis-je faire pour résoudre ce problème ?

2 « J'aime »

Pouvez-vous le reproduire dans un tout nouveau post ? Pouvez-vous reproduire sur meta ? Quelle est la balise de sondage ?

1 « J'aime »

Repro sur meta (laisser de côté l’attribut min)

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

Causé par ce commit, min n’est pas vérifié pour son existence ici @tgxworld .

6 « J'aime »

Merci ! Nous réglerons cela au début de la semaine prochaine.

5 « J'aime »

Cela sera corrigé dans

@kuba-orlik Merci d’avoir signalé et @RGJ merci pour le débogage.

4 « J'aime »

Le message d’erreur pour le sondage test ci-dessus est maintenant

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

ce qui est une erreur vraiment déroutante.

Pouvez-vous me fournir les étapes de reproduction ? Je n’arrive pas à reproduire l’erreur que vous avez mentionnée ci-dessus.

Bien sûr.

  1. Appuyez sur le bouton.

firefox_xbAvsVUYLA

2 « J'aime »

C’est un autre bug car vous n’êtes pas autorisé à voter dans un sondage sans sélectionner d’options.

Cela sera corrigé dans

4 « J'aime »

Ce sujet a été automatiquement fermé après 4 jours. Les nouvelles réponses ne sont plus autorisées.