AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1641725
Accepted
Lewis Kelsey
Lewis Kelsey
Asked: 2021-04-15 02:36:38 +0800 CST2021-04-15 02:36:38 +0800 CST 2021-04-15 02:36:38 +0800 CST

Iniciar meu driver de kernel (StartService) resulta em tela azul 0x124 devido a uma exceção de verificação de máquina devido ao erro do banco de cache L2 6 no processador 0

  • 772

Quando inicio meu driver manualmente usando StartService, ou outros meios, ou quando ele é carregado pelo sistema automaticamente quando definido como auto_start causa uma tela azul antes de DriverEntryser alcançado.

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


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


************* Path validation summary **************
Response                         Time (ms)     Location
OK                                             c:\symbols

************* Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       srv*c:\symbols*https://msdl.microsoft.com/download/symbols
Symbol search path is: srv*c:\symbols*https://msdl.microsoft.com/download/symbols
Executable search path is: c:\symbols
Windows 7 Kernel Version 7601 (Service Pack 1) MP (8 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.23864.amd64fre.win7sp1_ldr.170707-0600
Machine Name:
Kernel base = 0xfffff800`0364a000 PsLoadedModuleList = 0xfffff800`0388c750
Debug session time: Wed Apr 14 10:45:37.450 2021 (UTC + 1:00)
System Uptime: 0 days 0:00:03.199
Loading Kernel Symbols
......................................................
Loading User Symbols
Mini Kernel Dump does not contain unloaded driver list
For analysis of this file, run !analyze -v
4: 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: fffffa801a70b8f8, 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:
------------------

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.Sec
    Value: 1

    Key  : Analysis.DebugAnalysisProvider.CPP
    Value: Create: 8007007e on QWERTYUIOP

    Key  : Analysis.DebugData
    Value: CreateObject

    Key  : Analysis.DebugModel
    Value: CreateObject

    Key  : Analysis.Elapsed.Sec
    Value: 1

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 74

    Key  : Analysis.System
    Value: CreateObject


BUGCHECK_CODE:  124

BUGCHECK_P1: 0

BUGCHECK_P2: fffffa801a70b8f8

BUGCHECK_P3: 0

BUGCHECK_P4: 0

CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  System

STACK_TEXT:  
fffff880`03fa25b0 fffff800`03909cd9 : fffffa80`1a70b8d0 fffffa80`19aa2660 fffff8a0`00413b10 00000000`00000000 : nt!WheapCreateLiveTriageDump+0x6c
fffff880`03fa2ad0 fffff800`037e96d7 : fffffa80`1a70b8d0 fffff800`038632f8 fffffa80`19aa2660 00000000`00000202 : nt!WheapCreateTriageDumpFromPreviousSession+0x49
fffff880`03fa2b00 fffff800`03750fd5 : fffff800`038c5bc0 00000000`00000001 fffff8a0`00413a88 fffffa80`19aa2660 : nt!WheapProcessWorkQueueItem+0x57
fffff880`03fa2b40 fffff800`036c3c85 : fffff800`03ae6200 fffff800`03750fb0 fffffa80`19aa2600 00000000`00000000 : nt!WheapWorkQueueWorkerRoutine+0x25
fffff880`03fa2b70 fffff800`03955152 : 00000000`00000000 fffffa80`19aa2660 00000000`00000080 fffffa80`19a8db10 : nt!ExpWorkerThread+0x111
fffff880`03fa2c00 fffff800`036ab926 : fffff880`03d89180 fffffa80`19aa2660 fffff880`03d940c0 00000000`00000000 : nt!PspSystemThreadStartup+0x5a
fffff880`03fa2c40 00000000`00000000 : fffff880`03fa3000 fffff880`03f9d000 fffff880`04782720 00000000`00000000 : nt!KiStartSystemThread+0x16


MODULE_NAME: GenuineIntel

IMAGE_NAME:  GenuineIntel.sys

STACK_COMMAND:  .thread ; .cxr ; kb

FAILURE_BUCKET_ID:  X64_0x124_GenuineIntel_PROCESSOR_CACHE

OS_VERSION:  7.1.7601.23864

BUILDLAB_STR:  win7sp1_ldr

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 7

FAILURE_ID_HASH:  {270f58cb-a20a-a72d-6d81-eb8c82f01f7a}

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

4: kd> !errrec fffffa801a70b8f8
===============================================================================
Common Platform Error Record @ fffffa801a70b8f8
-------------------------------------------------------------------------------
Record Id     : 01d73112eb4e0c21
Severity      : Fatal (1)
Length        : 928
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Creator       : Microsoft
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Notify Type   : Machine Check Exception
Timestamp     : 4/14/2021 9:45:37 (UTC)
Flags         : 0x00000002 PreviousError

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
===============================================================================
Section 0     : Processor Generic
-------------------------------------------------------------------------------
Descriptor    @ fffffa801a70b978
Section       @ fffffa801a70ba50
Offset        : 344
Length        : 192
Flags         : 0x00000001 Primary
Severity      : Fatal
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Proc. Type    : x86/x64
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Instr. Set    : x64
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Error Type    : Cache error
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Operation     : Generic
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Flags         : 0x00
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Level         : 2
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
CPU Version   : 0x00000000000906e9
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Processor ID  : 0x0000000000000000

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
===============================================================================
Section 1     : x86/x64 Processor Specific
-------------------------------------------------------------------------------
Descriptor    @ fffffa801a70b9c0
Section       @ fffffa801a70bb10
Offset        : 536
Length        : 128
Flags         : 0x00000000
Severity      : Fatal
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Local APIC Id : 0x0000000000000000
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
CPU Id        : e9 06 09 00 00 08 10 00 - bf fb fa 7f 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

Proc. Info 0  @ fffffa801a70bb10
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
===============================================================================
Section 2     : x86/x64 MCA
-------------------------------------------------------------------------------
Descriptor    @ fffffa801a70ba08
Section       @ fffffa801a70bb90
Offset        : 664
Length        : 264
Flags         : 0x00000000
Severity      : Fatal
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock

fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
Error         : GCACHEL2_ERR_ERR (Proc 0 Bank 6)
  Status      : 0xee2000000040110a
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
  Address     : 0x00000000fef1ffc0
fffff800038370e8: Unable to get Flags value from nt!KdVersionBlock
  Misc.       : 0x0000007880010086

O driver foi instalado corretamente usando SetupOpenInfFilee SetupInstallFileW:

λ sc qc MyDriver
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: MyDriver
TYPE : 1 KERNEL_DRIVER
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : \??\C:\Windows\system32\drivers\MyDriver.sys
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : MyDriver
DEPENDENCIES :
SERVICE_START_NAME :

Estou usando uma versão ativada por kmspico do Windows 7. Tenho o modo de depuração ativado, teste a assinatura e a imposição de assinatura do driver, e MyDriver.sys é um WDM Driver.c básico compilado usando o Visual Studio 2017.

Eu simplesmente não consigo imaginar por que estou recebendo essa tela azul e, por algum motivo, na minha compilação do Windows 7, esta é a única tela azul que já recebi em 30 minidespejos de tela azul em 4 anos, todos 0x124, mas todos exigem um acionador de software, visto que todos os outros drivers podem ser iniciados corretamente. Além disso, todas as telas azuis que eu já tive em 2018 mostram:

Error         : GCACHEL2_ERR_ERR (Proc 0 Bank 6)
  Status      : 0xee2000000040110a
  Address     : 0x00000000fef1ffc0
  Misc.       : 0x0000007880010086

Mas mais uma vez, meu PC pode rodar agora por 150 dias e isso só acontecerá quando eu iniciar este driver específico.

Isso é semelhante, mas não ajudou.

No MiniDump, ele diz que ocorreu a exceção em ntosknl.exe+4acfacque é nt!WheapCreateLiveTriageDump+0x6c, que é instrução mov [rsp+518h+Size], rdi, mas isso parece ser um thread criado para um despejo ao vivo do WHEA no caso de um 0x124 e não mostra a pilha de chamadas que causou a exceção KeBugCheckExno topo da pilha como seria para uma tela azul normal; consequentemente, eu realmente não vejo a tela azul porque KeBugCheckExé o que mostra a tela azul e ela não é chamada neste cenário. Toda tela azul 0x124 tem nt!WheapCreateLiveTriageDump+0x6cno topo da pilha e mostra isso como o endereço que causou a exceção por algum motivo - acho que é porque é a instrução depois RtlCaptureContextde , que é o que aparece como um endereço de retorno na pilha, então esse é o contexto que é capturado. Normalmente, quando você recebe umKeBugCheckExtela azul, o IP com falha mostrado é aquele que causou a exceção em primeiro lugar e estará em algum lugar abaixo da pilha de chamadas e visto que isso não faz parte desta pilha de chamadas, ele apenas usa o endereço de retorno do RtlCaptureContextquadro. De alguma forma, ele sabe que o módulo com falha é GenunineIntel.sys, a menos que sempre mostre isso para 0x124 - claramente não acho que seja o módulo que causou o MCA.

Não responda que tenho hardware defeituoso -- não tenho. Bem, esta é a minha CPU , e eu tenho uma BIOS diferente da indicada, mas atualizei para uma versão 1.9.0 de 2019 e ainda exibe telas azuis com o mesmo status de MCI, mas isso não deve ser relevante porque é uma condição que é criado por software e só acontece quando carrego esse driver específico, portanto, deve ser resolvido sem alterar o hardware ou o firmware.

Na verdade, curiosamente, eu até recebi um bugcheck 7E, que foi a primeira vez que a tela azul mostrou uma tela azul, mas o minidump mostrou 0x124 ...

windows drivers
  • 1 1 respostas
  • 166 Views

1 respostas

  • Voted
  1. Best Answer
    Lewis Kelsey
    2021-04-16T02:18:36+08:002021-04-16T02:18:36+08:00

    Acabei de executá-lo em uma máquina virtual com o depurador de kernel windbg conectado à porta COM1 virtual por meio de um pipe nomeado e invadiu o depurador, você adivinhou MyDriver!__security_init_cookie+0x2de, de fato, vemos vários pontos de interrupção cc após a ramificação de falha na imagem . Como eu disse, não estava alcançando DriverEntry, então eu esperava que o erro estivesse no GsDriverEntry. Entrarei em contato com você sobre o que está causando a falha dessa função. Mas quanto a esse erro, ele estava sendo causado por uma exceção de ponto de interrupção quando um depurador não está conectado - mais importante , não é um problema de hardware

    Este era o código original:

    insira a descrição da imagem aqui

    Quando você olha para ele, é bastante óbvio que vai falhar

    A correção estava alterando o .vxprojarquivo para Windows7, onde dizia Windows10

    Agora eu tenho isso __security_init_cookie:

    insira a descrição da imagem aqui

    • 1

relate perguntas

  • Como desativar a aceleração do mouse em um touchpad de precisão do Windows?

  • renomear em massa conjuntos de arquivos de imagem

  • Qual seria o equivalente em lote do argumento "pass" do Python?

  • Comunique-se com o daemon do Docker no Windows

  • atalho do shell da área de trabalho no painel lateral do explorer

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve