Confira !
O kernel Linux 5.2 e mais recente parece estar sofrendo de um bug de corrupção do registro AVX decorrente da entrega do sinal. Esse problema de corrupção de registro está se manifestando pelo menos nos programas Golang, levando a uma variedade de relatórios de erros ao executar no Linux 5.2 através de pelo menos o Kernel Linux 5.4 recém-cunhado.
Os desenvolvedores da Golang rastrearam muitos relatórios de erros recentes como sendo um problema de corrupção no Kernel Linux 5.2 e mais recente, enquanto eram criados com o compilador GCC 9 (o uso do compilador GCC 8 parece não trazer à luz esse bug do kernel). Os desenvolvedores e usuários do Golang estão encontrando erros em tempo de execução em endereços de memória inválidos / referências de ponteiro, violações de segmentação e problemas relacionados.
Não é um bug do Golang e os desenvolvedores escreveram um caso de teste C simples, fazendo cálculos básicos do AVX e bombardeando-o com sinais. Com isso, eles abriram o relatório de erros do kernel upstream . A divisão original indica o problema que começa com esse envio no código de sinal x86 FPU de maio e com outras combinações do Kernel Linux 5.3 e 5.4 também ao usar o GCC 9.
Esse super bug está rastreando os problemas de corrupção, pois eles pertencem ao Golang com outro bug individual relatórios que mencionaram erros de E / S, sinais inesperados durante a execução, erros aleatórios de compilação e outros pânicos. Esse problema foi considerado um bloqueador de versão para a próxima versão do Go 1.14.
Uma solução alternativa sendo considerada, pelo menos, dependendo de quanto tempo os desenvolvedores do kernel levam para resolver o problema fundamental pode acabar colocando a Golang na lista negra das versões atuais do kernel do uso do AVX para solucionar o problema. Evitar o uso do AVX, no entanto, pode levar a regressões de desempenho.
Até a próxima !!
Nenhum comentário:
Postar um comentário