Estranhas corrupções de arquivos no ext4

Estranhas corrupções de arquivos no ext4

Recentemente entrei em contato com o que parecem ser cenários de corrupção de disco e gostaria de entendê-los melhor.

Eu tenho um servidor de compilação com o qual trabalho diariamente. Durante uma compilação completa de uma versão recente do LLVM que parou com uma mensagem de erro estranha, recebi este trecho de um arquivo gerado ( X86GenDisassemblerTables.inc):

...
/* 0xa5 */
{ /* ModRMDecision */
 MODRM_ONEENTRY,
 0 /* EmptyTable */
},
/* 0xa6 */
{ /* ModRMDecision */
 MODÒM_ONEENTRY,                # Ò = 0xD2
 0 /* EmptyTable */             # R = 0x52
},
/* 0xa7 */
{ /* ModRMDecision */
 MODRM_ONEENTRY,
 0 /* EmptyTable */
},
...

Isto parece ser uma corrupção de arquivo de um único bit. Removi o arquivo, a compilação o gerou novamente e foi concluída com sucesso.

E hoje, em umdiferentemáquina, este .darquivo foi produzido durante uma compilação:

output-gcc-8.2.0-x86_64-linux-gnu/obj/headers.hpp.gch: src/headers.hpp
pp      # What's this?

Todo o resto – tamanho do arquivo, permissões e até mesmo a nova linha final – estava em vigor. A remoção do arquivo também permitiu que a compilação o gerasse novamente sem problemas.

Esses são casos legítimos de corrupção de disco? Quais ferramentas posso usar para diagnosticar isso? Esses discos são, respectivamente, SSDs com um e dois anos de idade executando sistemas de arquivos ext4.

Responder1

Você pode querer começar com um teste de RAM. Os mergulhos difíceis normalmente sabem quando apresentam uma falha de leitura ou gravação. Se você ainda não está recebendo erros de disco rígido nas mensagens do kernel e não está usando RAM ECC, eu suspeitaria de RAM no disco rígido.

informação relacionada