500 خطأ داخلي في الخادم على مسارات مختلفة

مرحبًا،

أحاول تصحيح خطأ 500 Internal Server Error المتكرر.
أولاً، إليك الإعداد (أعلم أن هذا ليس مثاليًا ولا يُعد النشر الموصى به باستخدام Docker):

  • discourse 2.3.8
  • ruby 2.7.2 (باستخدام snap)
  • redis-server 5:4.0.9-1ubuntu0.2 (حزمة ubuntu)
  • postgresql 10.15 (على جهاز آخر)

لقد قلت بتعديل ملف config/environments/production.rb لتعيين

config.log_level = :debug

يمكنك العثور على عينة من نوع الخطأ الذي نواجهه (مختلطًا مع استجابات 200) هنا (بالإضافة إلى الباقي، حيث لا يمكنني وضع أكثر من رابطين في منشور واحد): Ubuntu Pastebin

حاولت تحديد ما إذا كان نوع معين من الطلبات هو ما يولد خطأ 500، وهناك بالفعل نمط معين (راجع pastebin السابق).

أنا غير قادر حاليًا على العثور على طريقة للمتابعة في التصحيح.
لست متأكدًا تمامًا من أن هذا خطأ، وللأسف لا أملك طريقة لإعادة إنتاجه. تحدث هذه الأخطاء بشكل عشوائي خلال اليوم، بين استجابات 200. قد يكون هذا مشكلة تتعلق بالقفل أو التنافس على الموارد، ولكن بدون سجلات إضافية، لا أستطيع حقًا تحديد مكان المشكلة.

إليك الحدود المستخدمة حاليًا للعملية، في حال كانت هذه هي المشكلة: Ubuntu Pastebin

أي مساعدة حول كيفية المتابعة في التصحيح ستكون محل تقدير كبير.

تحياتي،

نسخة Discourse 2.3.8 قديمة جدًا ولن تعمل مع إصدار حديث من Ruby مثل 2.7.2.

نحن نعلم أن نسخ Discourse 2.5.6 و2.6 و2.7 تعمل مع Ruby 2.7.2.

مرحبًا رافائيل،

شكرًا لك على إجابتك. نخطط للترقية واستخدام طريقة النشر المدعومة بالتأكيد “قريبًا”.

كان هدفي الرئيسي هو معرفة كيفية زيادة رسائل التصحيح بالإضافة إلى تعديل ملف config/environments/production.rb.

لاحظت أنه يمكن استخدام logster (Discourse Logging Improvements)، لكنه لا يوفر أي شيء مفيد في حالتنا (أفتقد الثواني هنا، لأرى ما إذا كان هذا مرتبطًا بخطأ 500 الخاص بي أم لا)، وهناك أخطاء كثيرة جدًا، وربما تكون مرتبطة بهذا التباين بين إصداري Ruby و Discourse.

سأحاول البحث أكثر قليلاً، لكنني أدفع بالتأكيد للترقية “أقرب” من “قريبًا” :).

شكرًا لك!