أصدر أحد مطوري التوزيعات (downstream maintainer) إصدار Electron 42.6.0 في 6 يوليو 2026 مع إصلاح يمنع توقف صناديق الرسائل (message-box) عن العمل في Linux، بينما لا يزال طلب السحب (pull request) في المشروع الأصلي (upstream) الذي يحتوي على الكود نفسه مفتوحاً. يمكن الآن لمستخدمي Linux الذين يعتمدون على واجهة Qt الخلفية تشغيل تطبيقات Electron دون مواجهة خطأ في التجزئة (segmentation fault).

ما الذي تسبب في الانهيار

يمكن لواجهة Electron على Linux استخدام إما GTK أو Qt كمحرك خلفي للرسم (rendering backend). عندما يعرض تطبيق ما صندوق رسائل، يطلب الكود من الـ UI singleton النشط دعم GTK، ثم يحاول جلب كائن منصة GTK. إذا كان التنفيذ الحالي هو Qt، تفشل عملية البحث وتنهار العملية بخطأ في التجزئة (segmentation fault). تم الإبلاغ عن المشكلة لأول مرة في مشكلة عامة (public issue) وتم تتبعها تحت المعرف electron/electron#52238.

كيف يعمل إصلاح التوزيعات (downstream fix)

يقوم التصحيح (patch) بتبديل ترتيب استدعائين: حيث يطلب سمة (theme) GTK قبل استرداد كائن منصة GTK. هذا التغيير الطفيف في الترتيب يمنع حدوث خطأ الإشارة إلى مؤشر فارغ (null-pointer dereference) الذي تسبب في الانهيار. وقد طبق مطور التوزيعة (downstream maintainer) التغيير نفسه تماماً الذي قدمه المساهم في المشروع الأصلي (upstream) في طلب السحب المفتوح.

لماذا تهم التوزيعات (downstream)

تقوم مشاريع التوزيعات (downstream projects) بإعادة حزم البرمجيات الأصلية (upstream software) لتناسب توزيعات محددة. وهي تختبر التصحيحات في مسارات العمل (pipelines) الخاصة بها وترسلها عندما تثق في الإصلاح. في هذه الحالة، رأى المطور أن الإصلاح جاهز للمستخدمين في بيئة الإنتاج ودمجه في حزمتهم، مما أدى إلى إغلاق المشكلة المرتبطة من جانبهم. لا تزال المراجعة في المشروع الأصلي (upstream) قيد الانتظار، لذا لم يقم مستودع Electron الرسمي بدمج التغيير بعد.

الفائدة فورية: أي مستخدم يقوم بالتحديث إلى إصدار التوزيعة 42.6.0 سيتجنب الانهيار.

الأهمية للنظام البيئي (ecosystem)

  • مستخدمو Linux: يحصلون على تجربة مستقرة دون انتظار دمج التحديث في المشروع الأصلي.
  • مطوروا التوزيعات (Downstream maintainers): يثبتون قدرتهم على حماية مستخدميهم.
  • مطوروا المشروع الأصلي (Upstream developers): يتلقون تأكيداً من أرض الواقع بأن الإصلاح يعمل، مما قد يسرع عملية المراجعة.

ما الذي يجب مراقبته لاحقاً

  • مراجعة المشروع الأصلي (Upstream review): إذا تم قبول طلب السحب، سيصبح الإصلاح جزءاً من إصدار Electron الرسمي القادم، مما يوحد الكود بين التوزيعات والمشروع الأصلي.