PG::StringDataRightTruncation (خطأ: القيمة طويلة جدًا لنوع character varying(500) )

عند محاولة تعديل المنشور الأول في هذا الموضوع، أحصل على رمز خطأ HTTP 500. تُبلغ سجلات الأخطاء عن حدوث هذا الخطأ القاتل:

الرسالة (تم الإبلاغ عن 7 نسخ)

PG::StringDataRightTruncation (ERROR: القيمة طويلة جدًا لنوع character varying(500)
)
app/models/topic_link.rb:240:in `safe_create_topic_link'
app/models/topic_link.rb:334:in `ensure_entry_for'
app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
app/models/topic_link.rb:126:in `block in extract_from'
app/models/topic_link.rb:124:in `each'
app/models/topic_link.rb:124:in `extract_from'
lib/post_revisor.rb:224:in `revise!'
app/controllers/topics_controller.rb:379:in `update'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'
app/controllers/application_controller.rb:358:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68: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'

Backtrace

rack-mini-profiler (2.3.1) lib/patches/db/pg.rb:113:in `exec'
rack-mini-profiler (2.3.1) lib/patches/db/pg.rb:113:in `async_exec'
mini_sql (1.0.1) lib/mini_sql/postgres/connection.rb:201:in `run'
mini_sql (1.0.1) lib/mini_sql/postgres/connection.rb:56:in `query_single'
app/models/topic_link.rb:240:in `safe_create_topic_link'
app/models/topic_link.rb:334:in `ensure_entry_for'
app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'

Env

HTTP HOSTS: rembetiko.gr
إعجابَين (2)

يبدو أن المشكلة تتعلق بعنوان URL، حيث يتجاوز طوله 500 حرف.

يجب علينا بالتأكيد تقصيره وربما تخطيه، وليس التسبب في خطأ 500.

ما هو أطول عنوان URL في المنشور؟

4 إعجابات

شكرًا لك يا @sam،

الرابط الوحيد الموجود في المشاركة هو من اقتباس. الرابط هو:

https://rembetiko.gr/t/%CE%BC%CE%B1%CE%BA%CE%AC%CE%BC-%CE%B2%CF%85%CE%B6%CE%B1%CE%BD%CF%84%CE%B9%CE%BD%CE%BF%CE%AF-%CE%B4%CF%81%CF%8C%CE%BC%CE%BF%CE%B9/6034/30

إعجابَين (2)

هذا هو 159 حرفًا فقط … دعنا نرى ما يحدث هنا:

Μακάμ - Βυζαντινοί Δρόμοι - #30 από kwstas_ferris - Παραδοσιακή μουσική - Ρεμπέτικο Φόρουμ

غريب جدًا… لم أستطع تكرار المشكلة مع هذا الرابط.

ربما يكون مرتبطًا بطريقة ما بكونه المنشور الأول؟

إعجابَين (2)

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

3 إعجابات

قمت بالتحقيق في الأمر قليلاً:

يحدث هذا عند تحديث المنشور “المربوط” (المنشور الذي تم اقتباسه) ليشمل رابطًا للاقتباس. ينتهي الأمر بالرابط (بسبب طول العنوان) إلى أن يتجاوز 500 حرف، مما يُفعّل هذه المشكلة.

الرابط الفعلي في المنشور المربوط لا يتم تحديثه أبدًا إذا كان العنوان طويلًا جدًا.

4 إعجابات

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

بالتأكيد ليست عاجلة، عندما يتاح لك الوقت.

3 إعجابات

عذراً على التنبيه، ولكن هل تم معالجة هذه المشكلة؟ اليوم، واجهت حالة ثانية من حدوث ذلك في منتدانا…

شكراً لكم على كل عملكم الجاد! :smiley:

إعجاب واحد (1)

لسوء الحظ، نحن مشغولون قليلاً. الأمر مدرج في قائمة @Osama، ونأمل أن نتمكن من التعامل معه خلال الأسابيع الأربعة القادمة.

4 إعجابات

@chrispanag تم حل المشكلة الآن:

كما ذكرت، كان الخطأ يحدث عند إنشاء رابط عكسي من المنشور المرتبط إلى المنشور الأصلي إذا كان للمنشور الأصلي عنوان طويل.

3 إعجابات

شكرًا جزيلاً على الإصلاح! :smiley:

إعجاب واحد (1)

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