Mae nam wedi'i nodi yn y cnewyllyn Linux sy'n achosi i rai rhaglenni sy'n defnyddio AVX gamweithio

Yn y cnewyllyn Linux ers rhyddhau 5.2, yn ymddangos Gwall sy'n achosi i gynnwys y gofrestr AVX gael ei dorri wrth ddychwelyd o driniwr signal sy'n cael ei drin pan fydd eithriad yn cael ei daflu (tudalen-fai). Mae'r broblem yn digwydd wrth redeg rhaglenni aml-threaded ("-pthread") sy'n cynnwys cyfrifiadau gyda'r gofrestr AVX, os yw'r cnewyllyn wedi'i adeiladu yn GCC 9 (os yw wedi'i adeiladu mewn datganiadau cynharach o GCC, nid yw'r gwall yn ymddangos, gan fod caches GCC 9 cyfeiriad y newidyn edau-lleol yn y gofrestr, ac mae fersiynau cynharach o GCC yn ei lwytho bob tro).

Mae'r broblem yn achosi i'r rhaglen ddod i ben yn gynamserol gyda gwall llygredd cof. Yr amlygiad mwyaf amlwg o'r gwall a welir yn aml wedi dod damweiniau ceisiadau, wedi'i ysgrifennu mewn iaith Go. Oherwydd y broblem a nodwyd, mae rhaglenni Go yn dod i ben yn gynamserol, fel arfer gyda'r gwallau "gwall amser rhedeg: cyfeiriad cof annilys neu ddim cyfeiriad pwyntydd", "amser rhedeg: pc dychwelyd annisgwyl" a "groes segmentu". Mae'r byg yn y cnewyllyn yn parhau i fod heb ei osod. Mae'r posibilrwydd yn cael ei ystyried ychwanegu newidiadau i'r amser rhedeg iaith Go i osgoi gwallau ar gnewyllyn Linux problemus yn ddetholus, ar gost gorbenion ychwanegol.

Ffynhonnell: opennet.ru

Ychwanegu sylw