Eventos futuros mostram erro 500 no servidor

Se eu clicar em "Upcoming events" - acho que isso é fornecido pelo discourse-events, recebo um erro 500 no servidor:

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 com discourse-calender 0.2 e discourse-saml 0.1

Alguém sabe como corrigir o problema?

2 curtidas

Você consegue reproduzir em nosso canal de lançamento padrão (tests-passed)?

1 curtida

Desculpe. Infelizmente, não consigo reproduzir isso em outra versão. Este é um sistema de produção que será atualizado para 2.8.X "em breve" :slight_smile:

Talvez outra pessoa possa verificar/testar se isso também acontece com a versão atual. Ou alguém com grande experiência no código pode validar que isso não deveria ocorrer.

O interessante é que, com algumas contas de usuário esse problema ocorre, com outras não. Não consigo encontrar o motivo.

1 curtida

Pelo meu lado, estou tendo o erro também e estou na 2.9.0Beta2.
Procurando em /logs, posso encontrar isso sempre que tento ver os 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'

Após testes, não consegui reproduzir este erro na versão atual do Discourse.

Discourse - 2.9.0.beta2
Discourse Calendar - v0.2
Microsoft Windows 10 Pro - Versão 10.0.18363 Build 18363
Google Chrome - Versão 99.0.4844.74

Navegar para [discourse.example.com]/upcoming-events parece funcionar corretamente e exibe o calendário como pretendido.

2 curtidas

Hmm… ok.

Sinto que há um problema na minha instância, como se o calendário estivesse procurando por uma postagem que, por algum motivo, está faltando.

Existe uma maneira de entender o que esse NoMethodError (undefined method `>=' for nil:NilClass)
realmente significa?

Qual seria a maneira de depurar a partir daqui?

Você poderia tentar o modo de segurança [YourSite]/safe-mode com os temas e plugins não oficiais desativados e ver se isso ajuda a identificar um deles como o causador do problema?

1 curtida

Eu não sabia sobre o modo de segurança, muito interessante.

Infelizmente, ainda tenho a mensagem de erro :frowning:

Acabei de notar que não estou enfrentando esse problema com o Chromium. Isso pode ser uma solução alternativa para outras pessoas.
Meu navegador principal é o Firefox-esr (91.8.0esr) rodando no Debian 11

Estou trabalhando junto com @sbernhard na mesma instância do Discourse (2.7.12) - como moderador, não sou um desenvolvedor/administrador. Até agora, o "Erro Interno do Servidor 500" apareceu em contas com direitos de moderação. Usuários normais aparentemente não recebem este erro - eles podem acessar "Eventos Futuros" no mesmo momento em que contas com direitos de moderação recebem o erro (pelo menos, ainda não recebemos outros relatos de erro).

Como moderador, recebo o erro com Firefox 100, Edge 101 e Chromium 101 atualizado no Windows 10 Pro, mas também no Ubuntu com Firefox. Com uma conta de usuário padrão, não recebo o erro nos mesmos sistemas.

Você encontrou uma solução para isso @Sticchio / @sbernhard?

Atualmente estou com um problema semelhante em um dos meus sites.

Não, infelizmente não. O erro ainda ocorre. Mas ainda estamos no Discourse 2.8.10. Não sei se foi corrigido em uma versão posterior.

1 curtida

Ainda estou recebendo este erro

Estou no Discourse 3.2.0.beta1-dev e Chromium 116.

Mais alguém consegue reproduzir?

Sim.
Mesma versão para Discourse e Chromium. Mesmo problema com Firefox 116.

1 curtida