Linux nüvəsində AVX istifadə edən bəzi proqramları pozan xəta müəyyən edilib

Linux nüvəsində, 5.2 buraxılışından bəri, görünür istisna atıldıqda idarə olunan siqnal idarəedicisindən geri qayıtdıqda AVX registrinin məzmununun pozulmasına səbəb olan xəta (səhifə səhvi). Problem, AVX reyestri ilə hesablamaları olan çox yivli proqramları ("-pthread") işləyərkən, nüvə GCC 9-da qurulduqda (GCC-nin əvvəlki buraxılışlarında tərtib edildikdə, xəta görünmür, çünki GCC 9 registrdə yerli iplik dəyişəninin ünvanını yaddaşda saxlayır və onu hər dəfə GCC-nin əvvəlki versiyaları yükləyir).

Problem proqramın yaddaşın pozulması xətası ilə vaxtından əvvəl dayandırılmasına səbəb olur. Xətanın ən nəzərə çarpan və tez-tez müşahidə olunan təzahürü polad qəzalar applicationsGo dilində yazılmışdır. Qeyd edilən problemə görə, Go proqramları vaxtından əvvəl dayandırılır, adətən "işləmə vaxtı xətası: etibarsız yaddaş ünvanı və ya sıfır göstərici qeydi", "işləmə vaxtı: gözlənilməz qaytarılan kompüter" və "seqmentasiya pozuntusu" xətaları. Kerneldə səhv hələ də düzəldilməyib. İmkanı nəzərdən keçirilir problemli Linux ləpələrindəki səhv üzərində seçici şəkildə işləmək üçün Go iş müddətinə dəyişikliklərin əlavə edilməsi, əlavə xərclər hesabına.

Mənbə: opennet.ru

Добавить комментарий