sbernhard
(Bernhard Suttner)
1
「今後のイベント」をクリックすると、おそらく discourse-events によって提供されているものですが、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'
Discourse 2.7.12 と discourse-calender 0.2 および discourse-saml 0.1 を一緒に使用しています。
この問題を解決する方法を知っている人はいますか?
「いいね!」 2
Falco
(Falco)
2
デフォルトのリリースチャネル(tests-passed)で再現できますか?
「いいね!」 1
sbernhard
(Bernhard Suttner)
3
申し訳ありません。残念ながら、別のリリースでこれを再現することはできません。これは本番システムであり、まもなく2.8.Xに更新される予定です 
現在のリリースバージョンでもこの問題が発生するかどうか、他の誰かが確認/テストできるかもしれません。または、コードに関する豊富な経験を持つ誰かが、これが起こるべきではないことを検証できるかもしれません。
興味深いのは、一部のユーザーアカウントではこの問題が発生し、他のアカウントでは発生しないことです。原因を見つけることができません。
「いいね!」 1
gde
4
私の方でもエラーが発生しており、2.9.0Beta2を使用しています。
/logsを確認したところ、今後のイベントを表示しようとするたびに、以下のログが見つかります。
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´
SaraDev
(Sara Devlaeminck)
5
テストしましたが、現在の Discourse リリースではこのエラーを再現できませんでした。
Discourse - 2.9.0.beta2
Discourse Calendar - v0.2
Microsoft Windows 10 Pro - Version 10.0.18363 Build 18363
Google Chrome - Version 99.0.4844.74
[discourse.example.com]/upcoming-events に移動すると、正しく機能し、意図したとおりにカレンダーが表示されるようです。
「いいね!」 2
gde
6
うーん…わかりました。
私のインスタンスに問題があるように感じます。カレンダーが、何らかの理由で存在しない投稿を検索しているようです。
この NoMethodError (undefined method `\u003e=' for nil:NilClass) が実際何を意味するのかを理解する方法はありますか?
ここからデバッグするにはどうすればよいでしょうか?
テーマと非公式プラグインを無効にしたセーフモード [YourSite]/safe-mode を試して、それらが干渉しているかどうかを絞り込むことができますか?
「いいね!」 1
gde
8
セーフモードのことは知りませんでした。非常に興味深いです。
残念ながら、まだエラーメッセージが表示されます 
gde
9
Chromiumではこの問題が発生していないことに気づきました。他の人にとっては回避策になるかもしれません。
私のメインブラウザは、debian 11で動作しているFirefox-esr(91.8.0esr)です。
私は @sbernhard と同じディスコースインスタンス (2.7.12) で共同作業しています。モデレーターであり、開発者/管理者ではありません。これまでは、「500 Internal Server Error」がモデレーション権限を持つアカウントに表示されていました。通常のユーザーは、このエラーが発生しないようです。モデレーション権限を持つアカウントがエラーを表示されている同じ瞬間に、「Upcoming events」にアクセスできます(少なくとも、これまでのところ他のエラーレポートは受け取っていません)。
モデレーターとして、Windows 10 Pro の Firefox 100、Edge 101、および最新の Chromium 101 でエラーが発生しますが、Ubuntu の Firefox でも同様です。標準ユーザーアカウントでは、同じシステムでエラーは発生しません。
@Sticchio / @sbernhard はこの解決策を見つけましたか?
現在、私のサイトの1つで同様の問題が発生しています。
いいえ、残念ながらそうではありません。エラーはまだ発生しています。しかし、私たちはまだDiscourse 2.8.10を使用しています。後続のバージョンで修正されたかどうかはわかりません。
「いいね!」 1
このエラーがまだ発生しています
Discourse 3.2.0.beta1-dev と Chromium 116 を使用しています。
他に再現できる方はいらっしゃいますか?
gde
14
はい。
Discourse と Chromium のバージョンは同じです。Firefox 116 でも同様の問題が発生しています。
「いいね!」 1