Isolando a causa de 0x124 WHEA_UNCORRECTABLE_ERROR consistentemente no endereço ntoskrnl.exe + 4b314c

1

Eu tenho uma máquina com Windows 7 de 64 bits que está congelando uma vez por mês. Os últimos cinco minidumps todos indicam "Causado pelo endereço" ntoskrnl.exe + 4b314c, e eu estou tentando descobrir quem possui (ou está acionando chamadas com falha) o código nesse endereço.

Aqui está a saída !analyze -v do mini-dump mais recente:

Microsoft (R) Windows Debugger Version 6.3.9600.17029 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Windows\Minidump2116-50450-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available


************* Symbol Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols
Symbol search path is: SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Kernel Version 7601 (Service Pack 1) MP (12 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.19160.amd64fre.win7sp1_gdr.160211-0600
Machine Name:
Kernel base = 0xfffff800'04201000 PsLoadedModuleList = 0xfffff800'04448730
Debug session time: Fri Oct 21 16:47:24.260 2016 (UTC - 7:00)
System Uptime: 0 days 0:00:25.275
Loading Kernel Symbols
.

Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.
Run !sym noisy before .reload to track down problems loading symbols.

..............................................................
..........
Loading User Symbols
Mini Kernel Dump does not contain unloaded driver list
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 124, {0, fffffa802d3f77c8, 0, 0}

Probably caused by : GenuineIntel

Followup: MachineOwner
---------

7: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

WHEA_UNCORRECTABLE_ERROR (124)
A fatal hardware error has occurred. Parameter 1 identifies the type of error
source that reported the error. Parameter 2 holds the address of the
WHEA_ERROR_RECORD structure that describes the error conditon.
Arguments:
Arg1: 0000000000000000, Machine Check Exception
Arg2: fffffa802d3f77c8, Address of the WHEA_ERROR_RECORD structure.
Arg3: 0000000000000000, High order 32-bits of the MCi_STATUS value.
Arg4: 0000000000000000, Low order 32-bits of the MCi_STATUS value.

Debugging Details:
------------------


BUGCHECK_STR:  0x124_GenuineIntel

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT

PROCESS_NAME:  System

CURRENT_IRQL:  0

ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre

STACK_TEXT:  
fffff880'03d1d6f0 fffff800'044c5cb9 : fffffa80'2d3f77a0 fffffa80'24f7eb50 00000000'00000029 00000000'00000000 : nt!WheapCreateLiveTriageDump+0x6c
fffff880'03d1dc10 fffff800'043a4c07 : fffffa80'2d3f77a0 fffff800'0441f2d8 fffffa80'24f7eb50 00000000'00000000 : nt!WheapCreateTriageDumpFromPreviousSession+0x49
fffff880'03d1dc40 fffff800'0430bc55 : fffff800'04481ba0 00000000'00000001 fffffa80'2d456090 fffffa80'24f7eb50 : nt!WheapProcessWorkQueueItem+0x57
fffff880'03d1dc80 fffff800'0427e065 : fffff880'01776e00 fffff800'0430bc30 fffffa80'24f7eb00 00000000'00000000 : nt!WheapWorkQueueWorkerRoutine+0x25
fffff880'03d1dcb0 fffff800'0450fc6a : 00000000'00000000 fffffa80'24f7eb50 00000000'00000080 fffffa80'24eda870 : nt!ExpWorkerThread+0x111
fffff880'03d1dd40 fffff800'04266086 : fffff880'03b31180 fffffa80'24f7eb50 fffff880'03b3c1c0 00000000'00000000 : nt!PspSystemThreadStartup+0x5a
fffff880'03d1dd80 00000000'00000000 : fffff880'03d1e000 fffff880'03d18000 fffff880'03d1d9e0 00000000'00000000 : nt!KxStartSystemThread+0x16


STACK_COMMAND:  kb

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: GenuineIntel

IMAGE_NAME:  GenuineIntel

DEBUG_FLR_IMAGE_TIMESTAMP:  0

IMAGE_VERSION:  

FAILURE_BUCKET_ID:  X64_0x124_GenuineIntel_PROCESSOR_MAE_PRV

BUCKET_ID:  X64_0x124_GenuineIntel_PROCESSOR_MAE_PRV

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:x64_0x124_genuineintel_processor_mae_prv

FAILURE_ID_HASH:  {435e2195-e498-1e77-0526-f8d7450275e5}

Followup: MachineOwner

E aqui está a saída de !errrec fffffa802d3f77c8

7: kd> !errrec fffffa802d3f77c8
===============================================================================
Common Platform Error Record @ fffffa802d3f77c8
-------------------------------------------------------------------------------
Record Id     : 01d22bf56b81ac86
Severity      : Fatal (1)
Length        : 864
Creator       : Microsoft
Notify Type   : Machine Check Exception
Timestamp     : 10/21/2016 23:47:24 (UTC)
Flags         : 0x00000002 PreviousError

===============================================================================
Section 0     : Processor Generic
-------------------------------------------------------------------------------
Descriptor    @ fffffa802d3f7848
Section       @ fffffa802d3f7920
Offset        : 344
Length        : 192
Flags         : 0x00000001 Primary
Severity      : Fatal

Proc. Type    : x86/x64
Instr. Set    : x64
Error Type    : Micro-Architectural Error
Flags         : 0x00
CPU Version   : 0x00000000000206c0
Processor ID  : 0x0000000000000000

===============================================================================
Section 1     : x86/x64 Processor Specific
-------------------------------------------------------------------------------
Descriptor    @ fffffa802d3f7890
Section       @ fffffa802d3f79e0
Offset        : 536
Length        : 64
Flags         : 0x00000000
Severity      : Fatal

Local APIC Id : 0x0000000000000000
CPU Id        : c0 06 02 00 00 08 20 00 - ff e3 9e 02 ff fb eb bf
                00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00

===============================================================================
Section 2     : x86/x64 MCA
-------------------------------------------------------------------------------
Descriptor    @ fffffa802d3f78d8
Section       @ fffffa802d3f7a20
Offset        : 600
Length        : 264
Flags         : 0x00000000
Severity      : Fatal

Error         : Unknown (Proc 0 Bank 2)
  Status      : 0xb200000000010005

Esta é uma máquina de whitebox construída há vários anos (com peças atualizadas ao longo do tempo para se manterem atualizadas). Periodicamente eu me certifico de que ainda passa por todos os testes de estresse que eu posso fazer (Prime95, Memtest86, etc). Eu tentei alguns breves retestes sem falhas, e vou repetir todos os ciclos da noite para o dia.

Eu pensei que os congelamentos começaram originalmente depois que eu instalei vários softwares (possivelmente incluindo drivers) há um ou dois anos, mas não tive tempo para investigar ou solucionar problemas no momento. Não me lembro qual software teria sido ou exatamente quando (e para ser honesto, isso poderia não estar relacionado ou um conjunto diferente de BSOD já está resolvido). Eu passei um tempo atrás e abati software / drivers, particularmente qualquer coisa que pudesse parecer suspeita ou aparecesse em outras BSODs mais antigas (por exemplo, coisas como cbfs5.sys).

Eu apliquei as atualizações de BIOS mais recentes e os drivers mais recentes que funcionam corretamente para mim. (Algum do hardware é antigo e, em casos raros, descobri que os drivers mais recentes causam outros problemas). A maioria das atualizações do Windows está instalada (pode haver alguns nos últimos meses que ainda não foram aplicados - já que é uma estação de trabalho bastante crítica, eu adoto uma abordagem muito controlada de atualizações, criando uma imagem de backup completa e fazendo um conjunto de Testes de regressão após cada ciclo de atualização Como resultado, estou demorando para atualizar, mas geralmente esta máquina é mais estável e previsível do que outras que eu mantenho que estão configuradas para atualização automática. Essa é uma razão pela qual estou adiando o Win 10 por enquanto ).

As temperaturas parecem razoáveis.

Meu sistema é configurado para gravar dumps de memória do Kernel, mas por razões desconhecidas para mim não se está escrevendo Esse problema ocorre (ocorreu hoje mais cedo, mas meu MEMORY.DMP nesse caminho tem uma data de modificação de quase um mês atrás).

A placa-mãe é um Asus P6T6 WS Revolution (chipset X58) e a CPU é um processador Intel Xeon E5645 de 2,4 GHz. Tenho 48 GB de RAM ECC instalada.

Eu não tenho muita experiência em analisar os despejos de memória, e ficaria grato por qualquer ajuda / sugestões.

    
por rkagerer 22.10.2016 / 02:42

1 resposta

1

A falha, como indicado no registro de erros, vem da Arquitetura de verificação de máquina do processador.

Algumas informações do blog Ntdebugging do MSDN: Interpretando um erro WHEA para uma falha MCA .

Você pode encontrar todos os detalhes sangrentos da MCA no Capítulo 15 da Intel. Manual do Desenvolvedor de Software, Volume 3B .

A informação útil no dump é a última linha do registro de erro, que é o valor do registro específico do modelo IA32_MCi_STATUS associado. Isso está documentado na seção 15.3.2.2 do manual da Intel. Seu valor de 0xb200000000010005 é dividido como:

  • Bit 63: Registre-se válido
  • Bit 61: erro não corrigido
  • Bit 60: Erro ativado
  • Bit 57: Contexto do processador corrompido
  • Bits 31–16: código de erro específico do modelo 1
    (que não parece estar documentado publicamente para seu processador)
  • Bits 15–0: código de erro 5 da MCA (que, de acordo com a Tabela 15-8 na seção 15.9.1, significa Erro de paridade interna )

Não sei se tudo isso sugere que sua CPU, ou placa-mãe ou algum outro hardware esteja com defeito. Parece improvável que seja um problema de software, porque o software não deve causar um erro interno de hardware como este.

Você pode tentar alterar suas configurações de despejo de “Small memory dump” para “Kernel memory dump” e esperar que a falha ocorra novamente; talvez as informações extras no arquivo de despejo maior forneçam algumas dicas adicionais sobre o que está acontecendo no momento da falha.

    
por 30.10.2016 / 00:28