Se ha identificado un error en el núcleo de Linux que afecta el funcionamiento de algunos programas que utilizan AVX.

En el núcleo de Linux, a partir de la versión 5.2, se manifiesta hay un error que causa la corrupción del contenido del registro AVX al regresar de un controlador de señales, procesado al generar una excepción (page-fault). El problema ocurre al ejecutar programas multihilo («-pthread») que tienen cálculos con el registro AVX, en el caso de una compilación del núcleo en GCC 9 (en compilaciones con versiones anteriores de GCC, el error no se manifiesta, ya que GCC 9 almacena en caché la dirección de la variable local de hilo en el registro, mientras que las versiones anteriores de GCC la cargan cada vez).

El problema provoca la finalización anticipada del programa con un error de corrupción de memoria. La manifestación más notable y comúnmente observada del error se han vuelto bloqueos aplicaciones, escritos en el lenguaje Go. Debido al problema mencionado, los programas en Go suelen finalizar anticipadamente con errores como «runtime error: invalid memory address or nil pointer dereference», «runtime: unexpected return pc» y «segmentation violation». En el núcleo, el error aún no se ha corregido. Se está considerando la posibilidad de agregar cambios al runtime del lenguaje Go para eludir selectivamente el error en los núcleos problemáticos de Linux, a expensas de la aparición de costos adicionales.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster