Próximos eventos muestra error de servidor 500

Si hago clic en “Próximos eventos”, supongo que esto es proporcionado por discourse-events, obtengo un error de servidor 500:

Started GET "/discourse-post-event/events.json" for 91.37.126.155 at 2022-03-15 19:02:36 +0000
Processing by DiscoursePostEvent::EventsController#index as JSON
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 500 Internal Server Error in 913ms (ActiveRecord: 0.0ms | Allocations: 82862)
NoMethodError (undefined method `>=' for nil:NilClass)
(eval):17:in `_fast_attributes'
app/controllers/application_controller.rb:395:in `block in with_resolved_locale'
app/controllers/application_controller.rb:395: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:355: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:177:in `call'

Usando discourse 2.7.12 junto con discourse-calender 0.2 y discourse-saml 0.1

¿Alguien sabe cómo solucionar el problema?

2 Me gusta

¿Puedes reproducirlo en nuestro canal de lanzamiento predeterminado (tests-passed)?

1 me gusta

Lo siento. Desafortunadamente, no puedo reproducir esto en otra versión. Este es un sistema de producción que se actualizará a 2.8.X “pronto” :slight_smile:

Quizás alguien más pueda verificar/probar si esto también sucede con la versión de lanzamiento actual. O alguien con gran experiencia en el código puede validar que esto no debería ocurrir.

Lo interesante es que, con algunas cuentas de usuario, este problema ocurre y con otras no. No puedo encontrar la causa.

1 me gusta

Por mi parte, también tengo el error y estoy en la 2.9.0Beta2.
Buscando en /logs puedo encontrar esto cada vez que intento ver los próximos eventos:

NoMethodError (undefined method `>=' for nil:NilClass)
(eval):17:in `_fast_attributes'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397: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:358: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'

Después de probar, no pude reproducir este error en la versión actual de Discourse.

Discourse - 2.9.0.beta2
Discourse Calendar - v0.2
Microsoft Windows 10 Pro - Versión 10.0.18363 Compilación 18363
Google Chrome - Versión 99.0.4844.74

Navegar a [discourse.example.com]/upcoming-events parece funcionar correctamente y muestra el calendario como se esperaba.

2 Me gusta

Hmm… ok.

Siento que hay un problema en mi instancia, como si el calendario estuviera buscando una publicación que, por alguna razón, falta.

¿Hay alguna forma de entender qué significa realmente este NoMethodError (undefined method `>=' for nil:NilClass)?

¿Cuál sería la forma de depurar a partir de aquí?

Podrías probar el modo seguro [TuSitio]/safe-mode con los temas y plugins no oficiales desactivados y ver si eso puede reducirlo a uno de ellos que esté interfiriendo?

1 me gusta

No sabía lo del modo seguro, muy interesante.

Lamentablemente, todavía tengo el mensaje de error :frowning:

Solo he notado que no tengo este problema con Chromium. Esto podría ser una solución alternativa para otros.
Mi navegador principal es Firefox-esr (91.8.0esr) ejecutándose en debian 11

Estoy trabajando junto con @sbernhard en la misma instancia de Discourse (2.7.12). Como moderador, no soy desarrollador/administrador. Hasta ahora, el "Error interno del servidor 500" aparecía en cuentas con derechos de moderación. Los usuarios normales aparentemente no reciben este error; pueden acceder a "Próximos eventos" en el mismo momento en que a las cuentas con derechos de moderación se les muestra el error (al menos, aún no hemos recibido otros informes de error).

Como moderador, obtengo el error con Firefox 100, Edge 101 y Chromium 101 actualizado en Windows 10 Pro, pero también en Ubuntu con Firefox. Con una cuenta de usuario estándar no obtengo el error en los mismos sistemas.

¿Encontraste una solución para esto @Sticchio / @sbernhard?

Actualmente tengo un problema similar en uno de mis sitios.

No, lamentablemente no. El error todavía ocurre. Pero todavía estamos en Discourse 2.8.10. No sé si se corrigió en una versión posterior.

1 me gusta

Todavía tengo este error

Estoy en Discourse 3.2.0.beta1-dev y Chromium 116.

¿Alguien más puede reproducirlo?

Sí.
Misma versión para Discourse y Chromium. También mismo problema con Firefox 116

1 me gusta