O eroare a fost identificată în kernelul Linux, care duce la disfuncționarea anumitor programe ce utilizează AVX.

În nucleul Linux, începând cu versiunea 5.2, se manifestă o eroare care duce la coruperea conținutului registrului AVX la revenirea din handler-ul semnalului, procesat la generarea unei excepții (page-fault). Problema apare la rularea programelor multi-threaded („-pthread”), în care sunt incluse calcule cu registrul AVX, în cazul compilării nucleului cu GCC 9 (la compilarea cu versiuni anterioare de GCC, eroarea nu se manifestă, deoarece GCC 9 stochează adresa variabilei locale de fir în registru, iar versiunile anterioare de GCC o încarcă de fiecare dată).

Problema duce la încheierea prematură a programului cu o eroare de corupție a memoriei. Cel mai evident și frecvent observat efect al erorii au devenit sunt blocările aplicații, scrise în limbajul Go. Din cauza problemei semnalate, programele scrise în Go se încheie prematur, de obicei, cu erorile „runtime error: invalid memory address or nil pointer dereference”, „runtime: unexpected return pc” și „segmentation violation”. În nucleu, eroarea rămâne nerezolvată. Se ia în considerare posibilitatea adăugării în runtime-ul limbajului Go de modificări pentru a ocoli selectiv eroarea pe nucleele problematice Linux, costul fiind apariția unor cheltuieli suplimentare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster