تم التعرف على خطأ في Linux kernel يتسبب في خلل بعض البرامج التي تستخدم AVX

في نواة لينكس منذ الإصدار 5.2، يتجلى خطأ يؤدي إلى انتهاك محتويات سجل AVX عند العودة من معالج الإشارة الذي تتم معالجته عند طرح استثناء (خطأ الصفحة). تحدث المشكلة عند تشغيل برامج متعددة الخيوط ("-pthread") تتضمن عمليات حسابية باستخدام سجل AVX، إذا تم إنشاء النواة في إصدار مجلس التعاون الخليجي 9 (إذا تم إنشاءه في إصدارات سابقة من إصدار مجلس التعاون الخليجي، فلن يظهر الخطأ، نظرًا لأن ذاكرة التخزين المؤقت لإصدار مجلس التعاون الخليجي 9) عنوان متغير مؤشر الترابط المحلي في السجل، وتقوم الإصدارات السابقة من دول مجلس التعاون الخليجي بتحميله في كل مرة).

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

المصدر: opennet.ru

إضافة تعليق