Usa ka bug ang nahibal-an sa Linux kernel nga hinungdan sa pipila ka mga programa nga naggamit sa AVX nga dili molihok

Sa Linux kernel sukad sa pagpagawas sa 5.2, makita Usa ka sayup nga hinungdan nga ang mga sulud sa rehistro sa AVX malapas kung mobalik gikan sa usa ka tigdumala sa signal nga gidumala kung ang usa ka eksepsiyon gilabay (panid-fault). Ang problema mahitabo kung ang pagpadagan sa mga multi-threaded nga mga programa ("-pthread") nga naglakip sa mga kalkulasyon sa AVX register, kung ang kernel gitukod sa GCC 9 (kon gitukod sa naunang pagpagawas sa GCC, ang sayup dili makita, tungod kay GCC 9 caches ang adres sa thread-local variable sa rehistro, ug ang mga naunang bersyon sa GCC magkarga niini matag higayon).

Ang problema maoy hinungdan sa programa sa pagtapos sa wala'y panahon nga adunay usa ka sayup nga pagkadunot sa memorya. Ang labing mamatikdan ug kanunay nga naobserbahan nga pagpakita sa sayup nahimong nahagsa aplikasyon, gisulat sa Go nga pinulongan. Tungod sa namatikdan nga problema, ang mga programa sa Go matapos sa wala pa panahon, kasagaran adunay mga sayup nga "runtime error: invalid memory address o nil pointer dereference", "runtime: wala damha nga pagbalik sa pc" ug "paglapas sa segmentation". Ang bug sa kernel nagpabilin nga wala ma-fix. Ang posibilidad gikonsiderar pagdugang sa mga pagbag-o sa runtime sa pinulongang Go aron pilion nga laktawan ang mga kasaypanan sa problemadong Linux kernels, sa gasto sa dugang nga overhead.

Source: opennet.ru

Idugang sa usa ka comment