Pular para o conteúdo
Campanário dos Sinais

/static/campanario/sino/sigill/

Menu

SIG-013 · Falhas do programa

SIGILL

Instrução ilegal: a CPU leu algo que não reconhece como ordem.

O processador buscou o próximo opcode e não soube o que fazer com ele. As causas clássicas: um salto para dentro de dados, código corrompido por um estouro de buffer, uma pilha executável que não devia ser.

A causa moderna é mais prosaica: um binário compilado para uma CPU mais nova — AVX-512, instruções de criptografia — rodando numa máquina que não as tem. O programa nem chega a errar por conta própria: a primeira instrução exótica derruba a torre.

$ ./otimizado-avx512
Illegal instruction (core dumped)
(compilado com -march=native na máquina errada)
O binário certo para a CPU errada.