Странные повреждения файлов в ext4

Недавно я столкнулся с тем, что похоже на сценарии повреждения диска, и мне хотелось бы лучше их понять.

У меня есть сервер сборки, с которым я работаю ежедневно. Во время одной полной сборки недавнего выпуска LLVM, который остановился из-за странного сообщения об ошибке, я получил этот отрывок для одного сгенерированного файла ( X86GenDisassemblerTables.inc ):

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

Похоже, это повреждение однобитового файла . Я удалил файл, сборка сгенерировала его снова и завершилась успешно.

И сегодня на другом компьютере этот .d файл был создан во время сборки:

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

Все остальное - размер файла, разрешения, даже завершающий символ новой строки - было на месте. Удаление файла также позволило сборке сгенерировать его снова без проблем.

Это законные случаи повреждения диска? Какие инструменты я могу использовать для диагностики этого? Эти диски представляют собой твердотельные накопители годовой и двухлетней давности с файловыми системами ext4.

0
задан 6 September 2018 в 20:20
1 ответ

Возможно, вы захотите начать с теста RAM. Жесткие погружения обычно знают, когда у них есть сбой чтения или записи. Если вы еще не получаете сообщения об ошибках жесткого диска в сообщениях ядра и не используете ОЗУ ECC, я подозреваю, что ОЗУ находится над жестким диском.

3
ответ дан 4 December 2019 в 12:17

Теги

Похожие вопросы