البحث يُرجع "500 Internal Server Error" لبعض العبارات البحثية المحددة

مرحبًا،

نلاحظ مشاكل متفرقة عند استخدام ميزة البحث في Discourse.

الملاحظات

خلال الأسابيع الماضية، لاحظنا استجابات متفرقة تحمل رمز “500 Internal Server Error” عند البحث على https://community.hiveeyes.org/. ورغم أن هذا قد يبدو مضحكًا، إلا أننا نعتقد أنه يعتمد فعليًا على عبارة البحث.

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

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

جربها بنفسك

لحسن حظنا، تمكنا للتو من إعادة إنتاج المشكلة على Meta. لذا، عند البحث عن عبارة “search returns 500”، تمكنا من تحفيز هذه الخطأ بشكل حتمي. كما يحدث ذلك حتى عند عدم تسجيل الدخول إلى النظام.

الرد هو:

هل عبارة البحث هي المذنب؟ بجدية؟

يبدو الأمر كذلك. فاستخدام عبارة “search croaks 500” بنفس الطريقة لا يؤدي إلى تحفيز هذه المشكلة.

الخلاصة

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

شكرًا لاستماعكم،
وتفضلوا بقبول فائق الاحترام،
أندرياس.

ملاحظة: تحفيز هذا الخطأ أثناء البحث عن المشكلة على Meta يجعل الأمر أكثر مضحكة، فأعتقد أننا جميعًا لا نزال نحب التكرار (العودية).

3 إعجابات

حسناً، نعم. هذا هو الخطأ الذي يظهر في السجلات

URI::InvalidURIError (bad URI(is not URI?): "http:error]")
/usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb:67:in `split'

/usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb:67:in `split'
/usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb:73:in `parse'
/usr/local/lib/ruby/2.6.0/uri/common.rb:234:in `parse'
/usr/local/lib/ruby/2.6.0/uri/common.rb:737:in `URI'
/var/www/discourse/lib/search/grouped_search_results.rb:83:in `block in blurb_for'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each_key'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each'
/var/www/discourse/lib/search/grouped_search_results.rb:82:in `blurb_for'
/var/www/discourse/lib/search/grouped_search_results.rb:60:in `blurb'
/var/www/discourse/app/serializers/search_post_serializer.rb:9:in `blurb'

شكرًا لك على التقرير @amotl

5 إعجابات

شكرًا لك @amotl و @david، تم إصلاح هذه المشكلة الآن هنا في الميتا عبر FIX: skip invalid URLs when checking for audio/video in search blurbs · discourse/discourse@0dfc594 · GitHub

6 إعجابات

عزيزي @david و @pmusaraj،

شكرًا لكم على سرعة الاستجابة في هذا الأمر، من التأكيد حتى الإصلاح الفعلي. نتطلع إلى استلام هذا الإصلاح. هل سيتم تضمينه في الإصدار 2.4.0.beta7 ربما؟

مع أطيب التحيات،
أندرياس.

إعجابَين (2)

نعم، سيتم تضمينه في النسخة التجريبية القادمة.

6 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 5 أيام. لم يعد السماح بردود جديدة.