У ядры Linux, пачынаючы з выпуску 5.2, памылка, якая прыводзіць да парушэння змесціва рэгістра AVX пры звароце з апрацоўшчыка сігналу, апрацоўванага пры генерацыі выключэння (page-fault). Праблема ўзнікае пры запуску шматструменных праграм («-pthread»), у якіх маюцца вылічэнні з рэгістрам AVX, у выпадку зборкі ядра ў GCC 9 (пры зборцы ў больш ранніх выпусках GCC памылка не выяўляецца, бо GCC 9 кэшуе адрас зменнай thread-local у рэгістры, а больш раннія версіі.
Праблема прыводзіць да заўчаснага завяршэння праграмы з памылкай пашкоджання памяці. Найбольш прыкметным і часта назіраным праявай памылкі , напісаных на мове Go. З-за адзначанай праблемы праграмы на мове Go заўчасна завяршаюцца, як правіла, з памылкамі "runtime error: недапушчальнае памяшканне адрасоў або ніл патэлефанаваць", "runtime: unexpected return pc" і "segmentation violation". У ядры памылка пакуль застаецца нявыпраўленай. даданні ў runtime мовы Go змен для выбарачнага абыходу памылкі на праблемных ядрах Linux, коштам з'яўлення дадатковых накладных выдаткаў.
Крыніца: opennet.ru
