În miez Linux, începând cu versiunea 5.2, O eroare care determină încălcarea conținutului registrului AVX la întoarcerea de la un handler de semnal care este gestionat atunci când este aruncată o excepție (defecțiune de pagină). Problema apare la rularea programelor multi-threaded („-pthread”) care implică calcule cu registrul AVX, dacă nucleul este construit în GCC 9 (dacă este construit în versiunile anterioare ale GCC, eroarea nu apare, deoarece GCC 9 are cache în cache). adresa variabilei locale de fir din registru, iar versiunile anterioare ale GCC o încarcă de fiecare dată).
Problema face ca programul să se termine prematur cu o eroare de corupție a memoriei. Cea mai vizibilă și frecvent observată manifestare a erorii , scris în limba Go. Din cauza problemei remarcate, programele Go se termină prematur, de obicei cu erorile „eroare de rulare: adresă de memorie invalidă sau dereferire de pointer nulă”, „timpul de rulare: computer cu returnare neașteptată” și „încălcare a segmentării”. Bug-ul din nucleu rămâne necorectat. Adăugarea de modificări la runtime-ul limbajului Go pentru a rezolva selectiv o eroare la kernel-urile problematice Linux, cu prețul unor costuri generale suplimentare.
Sursa: opennet.ru
