نقل الموضوع بواسطة المشرف يعطي خطأ داخلي 500، كيفية استكشاف المشكلة

مرحباً بالجميع،

عند محاولة نقل منشور من موضوع إلى آخر، نحصل أحياناً على خطأ “500 internal server error”.

هل توجد دورة تعليمية حول كيفية استكشاف أخطاء مثل هذه وحلها؟ وأين يمكنني العثور على ملفات السجل للحصول على تفاصيل حول المشكلة؟

شكراً لكل رد :slight_smile:

تحياتي، روني

نلاحظ أيضًا أخطاء 500 عند نقل المنشورات. تمكّنت من تحفيزها بنقل منشور إلى موضوع آخر، ثم محاولة إعادته إلى الموضوع الأصلي.

إليك التفاصيل:

SyntaxError: Unexpected token < in JSON at position 0
    at Function.parse [as parseJSON] (<anonymous>)
    at t (_application-1aa5dba826bc3ed623e07f37fc542db9746ecf4a5fcf6b519e5921036bface8d.js:12468)
    at _application-1aa5dba826bc3ed623e07f37fc542db9746ecf4a5fcf6b519e5921036bface8d.js:34707
    at f (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70136)
    at T (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70309)
    at E (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70295)
    at y (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70231)
    at t.invoke (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:64637)
    at e.t.flush (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:64527)
    at e.t.flush (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:64731)

شكرًا لك على ردك!

في غضون ذلك، وجدت المشكلة المسببة في جدول post_timings في قاعدة البيانات. يُخزَّن في هذا الجدول المنشورات التي قرأها المستخدمون بالفعل في المواضيع. تحت ظروف غير معروفة (بالنسبة لي)، قد يحاول الخادم كتابة إدخالات في الجدول موجودة بالفعل.

بحثت في السجلات ووجدت تلميحًا يشير إلى جدول قاعدة البيانات هذا. للأسف، لم أعد أتذكر أي السجلات بحثت فيها… :confused:

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

تحياتي، روني

شكرًا لك يا روني، واوه! لا أعتقد أن مستخدميني البالغ عددهم 10 آلاف سيكونون سعداء بفقدان سجل القراءة الخاص بهم. كما تلقيت تقارير من العديد من المستخدمين مفادها أن مشاركاتهم لا تُعلَّم كمقروءة بشكل صحيح خلال الأسابيع الماضية. أظن أن هذا يفسر ذلك أيضًا.

هل هناك أي طريقة لتنظيف هذا الأمر دون حذف الجدول، يا @sam أو أي شخص آخر؟ :slight_smile:

من المرجح أن هذا الخطأ الذي تم حله يفسر حالات عدم القراءة:

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

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

إذا تمكن أحدكم من مشاركة بعض السجلات، فسيكون ذلك مفيدًا للغاية.

سأقوم بالتحقق مما إذا كانت لدي سجلاتي القديمة حول خطأ جدول البيانات. لكن حذف محتوى الجدول حل المشكلة بالتأكيد (مع الآثار الجانبية التي ذكرتها).

عذرًا، لقد بحثت عنه ولكن لا أستطيع العثور عليه بعد الآن… :confused:

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

شكرًا لك، سأجربها عندما يتم إصدار النسخة التجريبية التالية.