Bevorstehende Ereignisse zeigen einen 500 server error

Wenn ich auf „Bevorstehende Veranstaltungen“ klicke – ich vermute, dies wird von discourse-events bereitgestellt –, erhalte ich einen Serverfehler 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'

Verwende Discourse 2.7.12 zusammen mit Discourse-Calender 0.2 und Discourse-SAM 0.1

Weiß jemand, wie man das Problem beheben kann?

2 „Gefällt mir“

Können Sie dies in unserem Standard-Release-Kanal (tests-passed) reproduzieren?

1 „Gefällt mir“

Es tut mir leid. Leider kann ich dies in einer anderen Version nicht reproduzieren. Dies ist ein Produktionssystem, das bald auf 2.8.X aktualisiert wird :slight_smile:

Vielleicht kann jemand anderes überprüfen/testen, ob dies auch mit der aktuellen Release-Version passiert. Oder jemand mit großer Erfahrung im Code kann bestätigen, dass dies nicht auftreten sollte.

Das Interessante ist, dass dieses Problem bei einigen Benutzerkonten auftritt, bei einigen anderen jedoch nicht. Ich kann die Ursache dafür nicht finden.

1 „Gefällt mir“

Ich für meinen Teil habe den Fehler auch und bin auf 2.9.0Beta2.
Wenn ich in /logs nachsehe, finde ich jedes Mal, wenn ich versuche, die anstehenden Ereignisse anzuzeigen, Folgendes:

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'

Nach Tests konnte ich diesen Fehler in der aktuellen Discourse-Version nicht reproduzieren.

Discourse - 2.9.0.beta2
Discourse Kalender - v0.2
Microsoft Windows 10 Pro - Version 10.0.18363 Build 18363
Google Chrome - Version 99.0.4844.74

Die Navigation zu [discourse.example.com]/upcoming-events scheint korrekt zu funktionieren und zeigt den Kalender wie vorgesehen an.

2 „Gefällt mir“

Hmm… ok.

Ich habe das Gefühl, dass es ein Problem mit meiner Instanz gibt, so als ob der Kalender nach einem Beitrag sucht, der aus irgendeinem Grund fehlt.

Gibt es eine Möglichkeit zu verstehen, was diese NoMethodError (undefined method `\u003e=' for nil:NilClass)
eigentlich bedeutet?

Wie könnte man von hier aus debuggen?

Sie könnten den abgesicherten Modus [YourSite]/safe-mode ausprobieren, bei dem Themes und inoffizielle Plugins deaktiviert sind, um zu sehen, ob das Problem auf eines davon zurückzuführen ist?

1 „Gefällt mir“

Ich wusste nichts von dem abgesicherten Modus, sehr interessant.

Leider habe ich immer noch die Fehlermeldung :frowning:

Mir ist gerade aufgefallen, dass ich dieses Problem mit Chromium nicht habe. Dies könnte für andere eine Lösung sein.
Mein Hauptbrowser ist Firefox-esr (91.8.0esr) unter Debian 11.

Ich arbeite mit @sbernhard auf derselben Discourse-Instanz (2.7.12) zusammen – als Moderator bin ich kein Entwickler/Administrator. Bisher trat der „500 Internal Server Error“ bei Konten mit Moderationsrechten auf. Normale Benutzer erhalten diesen Fehler scheinbar nicht – sie können „Bevorstehende Ereignisse“ aufrufen, während bei Konten mit Moderationsrechten der Fehler angezeigt wird (zumindest haben wir bisher keine anderen Fehlerberichte erhalten).

Als Moderator erhalte ich den Fehler mit Firefox 100, Edge 101 und dem aktuellen Chromium 101 unter Windows 10 Pro, aber auch unter Ubuntu mit Firefox. Mit einem Standardbenutzerkonto erhalte ich auf denselben Systemen keinen Fehler.

Hast du eine Lösung dafür gefunden, @Sticchio / @sbernhard?

Ich habe derzeit ein ähnliches Problem auf einer meiner Websites.

Nein, leider nicht. Der Fehler tritt immer noch auf. Wir sind aber immer noch auf Discourse 2.8.10. Ich weiß nicht, ob es in einer späteren Version behoben wurde.

1 „Gefällt mir“

Ich bekomme immer noch diesen Fehler

Ich bin auf Discourse 3.2.0.beta1-dev und Chromium 116.

Kann das sonst noch jemand reproduzieren?

Ja.
Gleiche Version für Discourse und Chromium. Gleiches Problem auch mit Firefox 116.

1 „Gefällt mir“