U Linux kernelu otkrivena je greška koja uzrokuje probleme s radom nekih programa koji koriste AVX.

U Linux kernelu, počevši od verzije 5.2, javlja se javlja se greška koja uzrokuje oštećenje sadržaja AVX registra prilikom povratka iz signalnog handlera, koji se obrađuje pri generiranju iznimke (page-fault). Problem se pojavljuje pri pokretanju višedretvenih programa („-pthread“) koji imaju izračune s AVX registrom, u slučaju izrade kernela u GCC 9 (pri izradi u ranijim verzijama GCC greška se ne manifestira, jer GCC 9 kešira adresu varijable thread-local u registru, dok ranije verzije GCC učitavaju svaki put).

Problem dovodi do prerane završetka programa s greškom oštećenja memorije. Najistaknutiji i najčešće opaženi oblik greške postale su srušenja aplikacija, napisanim na jeziku Go. Zbog spomenutog problema, programi napisani u jeziku Go prerano završavaju, obično s greškama „runtime error: invalid memory address or nil pointer dereference“, „runtime: unexpected return pc“ i „segmentation violation“. U kernelu greška zasad ostaje neispravljena. Razmatra se mogućnost dodavanja u runtime jezika Go izmjena za selektivno zaobilaženje greške na problematičnim Linux kernelima, po cijenu pojave dodatnih troškova.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster