Erro no MCE: MCA: erro de paridade interna

6

Eu tenho uma máquina instável rodando o Ubuntu 14.04 LTS que passa 9 horas do memtest86.

Eu obtenho estes:

Hardware event. This is not a software error.
MCE 0
CPU 1 BANK 0 
TIME 1414735539 Fri Oct 31 17:05:39 2014
MCG status:
MCi status:
Corrected error
Error enabled
MCA: Internal parity error
STATUS 9000004000010005 MCGSTATUS 0
MCGCAP c09 APICID 2 SOCKETID 0 
CPUID Vendor Intel Family 6 Model 58'

É quando a máquina continua. Eu ainda não tenho um para quando a máquina congela.

O que é "MCE 0"? E "MCA"? E eu estou olhando para um erro da CPU ou um erro de RAM?

Eu tenho um stick de 8 GB de RAM.

Qual é a ordem que eu devo substituir o hardware (RAM, CPU, placa-mãe, fonte de alimentação)? A máquina costumava ser estável. Devo subir um pouco a voltagem da CPU?

Eu li o FAQ do mcelog. Os resultados do Google são esparsos e a maioria tem outros formatos de mensagens semelhantes (por exemplo, versões antigas do kernel / MCE).

    
por Greg Bell 31.10.2014 / 12:36

4 respostas

6

Enquanto o mcelog faz alguma decodificação do registro de status do MCA, mais pode ser útil.

Etapa 1

Faça o download dos manuais combinados do desenvolvedor de software das arquiteturas Intel® 64 e IA-32 em link É enorme em 3439 páginas. O abaixo se refere à versão de setembro de 2014.

Etapa 2

Pegue a palavra STATUS em / var / log / mcelog e canalize-a pelo xxd algumas vezes para obter um campo de bits. Para o meu, isto é:

$ echo "9000004000010005" | xxd -r -p | xxd -b
0000000: 10010000 00000000 00000000 01000000 00000000 00000001  ...@..
0000006: 00000000 00000101                                      ..

Etapa 3

Faça alguma manipulação de texto e, em seguida, numere os bits:

66665555 55555544 44444444 33333333 33222222 22221111 111111 
32109876 54321098 76543210 98765432 10987654 32109876 54321098 76543210
-----------------------------------------------------------------------
10010000 00000000 00000000 01000000 00000000 00000001 00000000 00000101 

Etapa 4

Puxe a definição de bit de registro de status MCi de status da Seção 15.3.2.2 do manual:

Nomeucaso,osbits3:0estãodizendo"MCA Error Code 5", que é o que mcelog já interpretou para mim como "Internal parity error" (veja a seção 15.9.1). O que eu espero é mais informação - a CPU, RAM ou Motherboard é a causa provável do erro de paridade?

O 1 no bit 63 apenas significa "este valor de registro é válido". O 1 no bit 60 significa apenas que "o relatório de erros está ativado". O valor de [52:38] = 1 significa que um erro foi corrigido.

O 1 no bit 16 parece promissor, já que está no campo "Model Specific Error Code" mas, infelizmente, de acordo com a seção 16, bit [15] sendo igual a 0 significa que tudo que eu obtenho é 'simples' composto) erro, então eu estou pronto.

Linha de fundo: Não é possível dizer se o erro de paridade é da memória cache ou da memória do sistema. Não é possível dizer o que "interno" significa. Interno para quê? Então eu troquei memória, mesmo problema, então troquei a CPU com outra máquina (tive sorte, soquetes compatíveis) e o problema parou ... nas duas máquinas. Não é exatamente a ajuda do diagnóstico pontual que eu esperava desse hardware avançado, e eu não entendo porque a CPU "ruim" é feliz em outra máquina, mas o problema é resolvido.

    
por 04.11.2014 / 03:55
3

Possivelmente relacionado a Intel Errata HSW131 (ou similar) que é falso e inofensivo erros MCA 05 (erro de paridade interna).

Solução: ignore.

    
por 09.01.2015 / 14:04
1

Você está executando processos em 32 bits ???

Por favor, encontre alguns detalhes pesquisando "erro de paridade interna" em:

link

link

HSD55. Internal Parity Errors May Incorrectly Report Overflow in The IA32_MCi_STATUS MSR
    Problem:
    Due to this erratum, uncorrectable internal parity error reports with an
    IA32_MCi_STATUS.MCACOD (bits [15:0]) value of 0005H and an
    IA32_MCi_STATUS.MSCOD (bits [31:16]) va
    lue of 0004H may incorrectly set the
    IA32_MCi_STATUS.OVER flag (bit 62) indicating an overflow even when only a single
    error has been observed.

Eu tenho os mesmos problemas no Haswell i7-4790 (quarta geração) executando máquinas Linux KVM de 32 bits no CentOS 7 (x64)

link

    
por 22.03.2015 / 14:31
1

Estou executando uma caixa Linux com Intel i5-3550 (Ivy bridge) e recebi esse problema por um tempo (mesmo valor de status exato), embora ele afetasse apenas os núcleos 2 e 3 (e principalmente apenas 2) , então eu os desativei por algumas semanas, presumindo que o hardware estava morrendo.

Eu tinha notado que as temperaturas médias de funcionamento eram mais altas que o normal, mas depois de limpá-lo um pouco o problema persistiu. Ele se manifestou não apenas por meio de mensagens de erro do MCE, mas também por falhas de segmentação imprevisíveis e travamentos em processos em execução.

Bem, acontece que, por alguma razão inescrutável, a UEFI decidiu fazer o clock da CPU de até ~ 4,1 GHz quando no modo Turbo - quando as especificações dizem que ela só vai até 3,7 GHz. A reconfiguração manual desses limites parece ter resolvido o problema.

TL; DR: para qualquer um que esteja lendo isso, verifique o overclock também.

    
por 04.12.2016 / 21:12