When I start my driver manually using StartService, or other means, or when it’s loaded by the system automatically when set to auto_start causes a blue screen in GenunineIntel.sys
2: 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: fffffa80226cd8f8, 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:
------------------
fffff800037f60e8: Unable to get Flags value from nt!KdVersionBlock
fffff800037f60e8: Unable to get Flags value from nt!KdVersionBlock
fffff800037f60e8: 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: 75
Key : Analysis.System
Value: CreateObject
BUGCHECK_CODE: 124
BUGCHECK_P1: 0
BUGCHECK_P2: fffffa80226cd8f8
BUGCHECK_P3: 0
BUGCHECK_P4: 0
CUSTOMER_CRASH_COUNT: 1
PROCESS_NAME: System
STACK_TEXT:
fffff880`03fa95b0 fffff800`038c8cd9 : fffffa80`226cd8d0 fffffa80`19a7a040 fffff8a0`00413b10 00000000`00000000 : nt!WheapCreateLiveTriageDump+0x6c
fffff880`03fa9ad0 fffff800`037a86d7 : fffffa80`226cd8d0 fffff800`038222f8 fffffa80`19a7a040 00000000`00000000 : nt!WheapCreateTriageDumpFromPreviousSession+0x49
fffff880`03fa9b00 fffff800`0370ffd5 : fffff800`03884bc0 00000000`00000001 fffff8a0`00413a88 fffffa80`19a7a040 : nt!WheapProcessWorkQueueItem+0x57
fffff880`03fa9b40 fffff800`03682c85 : fffff800`03aa5200 fffff800`0370ffb0 fffffa80`19a7a000 00000000`00000000 : nt!WheapWorkQueueWorkerRoutine+0x25
fffff880`03fa9b70 fffff800`03914152 : 00000000`00000000 fffffa80`19a7a040 00000000`00000080 fffffa80`19a66b10 : nt!ExpWorkerThread+0x111
fffff880`03fa9c00 fffff800`0366a926 : fffff880`03d89180 fffffa80`19a7a040 fffff880`03d940c0 00000000`00000000 : nt!PspSystemThreadStartup+0x5a
fffff880`03fa9c40 00000000`00000000 : fffff880`03faa000 fffff880`03fa4000 fffff880`04829720 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
---------
The service was correctly installed using SetupOpenInfFile and SetupInstallFileW:
λ sc qc winperfstat
[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 :
I have debug mode on, test signing off and driver signature enforcement off, and MyDriver.sys is a basic WDM Driver.c compiled using visual studio 2017.
I just can’t imagine why I am getting this blue screen, and for some reason, on my build of windows 7, this is the only blue screen I have ever got in 50 blue screens across 4 years, all 0x124 and at the same address.