لينڪس ڪرنل ۾ هڪ بگ جي نشاندهي ڪئي وئي آهي جيڪو ڪجهه پروگرامن جو سبب بڻجندو آهي جيڪي AVX استعمال ڪن ٿا خراب ٿيڻ لاءِ

لينڪس ڪنييل ۾ رليز 5.2 کان وٺي، پيش قدمي ھڪڙو نقص جيڪو AVX رجسٽر جي مواد کي ڀڃڪڙي ڪرڻ جو سبب بڻائيندو آھي جڏھن ھڪڙي سگنل ھينڊلر کان واپسي آھي جنھن کي ھٿ ڪيو ويندو آھي جڏھن ھڪڙو استثنا اڇلايو ويندو آھي (صفحو-غلطي). مسئلو تڏهن ٿئي ٿو جڏهن ملٽي ٿريڊ پروگرامن ("-pthread") کي هلائي رهيا آهن جن ۾ AVX رجسٽر سان حساب شامل آهي، جيڪڏهن ڪنيل GCC 9 ۾ ٺهيل آهي (جيڪڏهن GCC جي اڳئين رليز ۾ ٺهيل آهي، غلطي ظاهر نه ٿيندي آهي، ڇاڪاڻ ته GCC 9 ڪيچز رجسٽر ۾ thread-local variable جو پتو، ۽ GCC جا اڳوڻا ورجن ان کي هر وقت لوڊ ڪن ٿا).

مسئلو پروگرام کي ميموري ڪرپشن جي غلطي سان وقت کان اڳ ختم ڪرڻ جو سبب بڻائيندو آهي. غلطي جي سڀ کان وڌيڪ قابل ذڪر ۽ اڪثر مشاهدو مظهر هئڻ حادثو ايپليڪيشنونگو ٻولي ۾ لکيل آهي. نوٽ ڪيل مسئلي جي ڪري، گو پروگرامن وقت کان اڳ ختم ٿي ويندا آهن، عام طور تي غلطين سان "رن ٽائم ايرر: غلط ميموري ايڊريس يا نيل پوائنٽر ڊيريفرنس"، "رن ٽائم: غير متوقع واپسي پي سي" ۽ "سيگمينٽيشن وائليشن". ڪرنل ۾ بگ اڻڄاتل رهي ٿو. امڪان تي غور ڪيو پيو وڃي اضافي اوور هيڊ جي قيمت تي، مشڪلاتي لينڪس ڪنلز تي چونڊيل غلطين کي نظرانداز ڪرڻ لاءِ Go language runtime ۾ تبديليون شامل ڪرڻ.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو