BSOD StopCode: REGISTRY ERROR

Hi Jhickey080808,

Could you upload the memory.dmp file in C:\Windows\MEMORY.dmp to one drive, google drive or a similar file sharing service to your preference and post a share link.

The latest crash wasn't a REGISTRY_ERROR, but a WHEA_UNCORRECTABLE_ERROR of a yet to be determined origin that's not documented. Therefore, a memory dump is requested so we can further have a look at this crash.

My current analysis reveals that this crash was a crash reported by a driver, different from the usual WHEA crashes we normally see.
Rich (BB code):
*******************************************************************************
*                                                                             *
*                        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: 0000000000000010, Error Source Type
Arg2: ffff800be6968028
Arg3: ffff800ba7df809c
Arg4: ffff800ba7db71a0

0: kd> dt _WHEA_ERROR_RECORD ffff800be6968028
win32k!_WHEA_ERROR_RECORD
   +0x000 Header           : _WHEA_ERROR_RECORD_HEADER
   +0x080 SectionDescriptor : [1] _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR

0: kd> dt _WHEA_ERROR_RECORD_HEADER ffff800be6968028
win32k!_WHEA_ERROR_RECORD_HEADER
   +0x000 Signature        : 0x52455043
   +0x004 Revision         : _WHEA_REVISION
   +0x006 SignatureEnd     : 0xffffffff
   +0x00a SectionCount     : 1
   +0x00c Severity         : 1 ( WheaErrSevFatal )
   +0x010 ValidBits        : _WHEA_ERROR_RECORD_HEADER_VALIDBITS
   +0x014 Length           : 0x12a
   +0x018 Timestamp        : _WHEA_TIMESTAMP
   +0x020 PlatformId       : _GUID {83c1603c-1552-48a7-87d1-14d9467d7765}
   +0x030 PartitionId      : _GUID {00000000-0000-0000-0000-000000000000}
   +0x040 CreatorId        : _GUID {57217c8d-5e66-44fb-8033-9b74cacedf5b}
   +0x050 NotifyType       : _GUID {0033f803-2e70-4e88-992c-6f26daf3db7a}
   +0x060 RecordId         : 0x01d741f1`c8ad9052
   +0x068 Flags            : _WHEA_ERROR_RECORD_HEADER_FLAGS
   +0x06c PersistenceInfo  : _WHEA_PERSISTENCE_INFO
   +0x074 Reserved         : [12]  ""

0: kd> dt _WHEA_ERROR_RECORD_HEADER_FLAGS ffff800be6968028+0x068
win32k!_WHEA_ERROR_RECORD_HEADER_FLAGS
   +0x000 Recovered        : 0y0
   +0x000 PreviousError    : 0y0
   +0x000 Simulated        : 0y0
   +0x000 DeviceDriver     : 0y1
   +0x000 CriticalEvent    : 0y0
   +0x000 PersistPfn       : 0y0
   +0x000 Reserved         : 0y00000000000000000000000000 (0)
   +0x000 AsULONG          : 8


0: kd> !dpx
Start memory scan  : 0xfffff00b6e23f388 ($csp)
End memory scan    : 0xfffff00b6e240000 (Kernel Stack Base)

               rsp : 0xfffff00b6e23f388 : 0xfffff8040afb583c : nt!WheaReportHwError+0x3ec
               r12 : 0xfffff8040d4ba700 :  !du ""ms, 4ms, 16ms, 64ms, 128ms, 256ms, 2000ms, 6000ms, 10000ms, 20000ms, 20000+ms""
0xfffff00b6e23f388 : 0xfffff8040afb583c : nt!WheaReportHwError+0x3ec
0xfffff00b6e23f418 : 0xfffff804074a10a4 : PSHED!PshedRetrieveErrorInfo+0x94
0xfffff00b6e23f438 : 0xfffff8040afb6279 : nt!WheaHwErrorReportSetSeverityDeviceDriver+0x9
0xfffff00b6e23f460 : 0xfffff8040d4c88f0 : storport!WheaErrorData
0xfffff00b6e23f468 : 0xfffff8040afb6399 : nt!WheaHwErrorReportSubmitDeviceDriver+0xe9
0xfffff00b6e23f498 : 0xfffff8040afb64b5 : nt!WheaReportFatalHwErrorDeviceDriverEx+0xf5
0xfffff00b6e23f4f8 : 0xfffff8040d4a2035 : storport!StorpWheaReportError+0x9d
0xfffff00b6e23f548 : 0xfffff8040d4c0c70 : storport!g_StorpSourceGuid
0xfffff00b6e23f558 : 0xfffff8040d4a1ee4 : storport!StorpPopulateErrorData+0x120
0xfffff00b6e23f588 : 0xfffff8040d49b4c0 : storport!StorpMarkDeviceFailed+0x358
0xfffff00b6e23f5e8 : 0xfffff8040ad0e5b6 : nt!HalRequestClockInterrupt+0x16
0xfffff00b6e23f5f8 : 0xfffff8040ad5b8c3 : nt!KeDisableTimer2+0x173
0xfffff00b6e23f658 : 0xfffff8040d44fd10 :  !du ""Controller Reset failed""
0xfffff00b6e23f690 : 0xffff800ba7cba748 :  !du "stornvme"
0xfffff00b6e23f768 : 0xfffff8040d4c8000 : storport!WPP_GLOBAL_Control
0xfffff00b6e23f788 : 0xfffff8040ad5b47e : nt!ExDeleteTimer+0x4e
0xfffff00b6e23f7b0 : 0xfffff8040d4c8000 : storport!WPP_GLOBAL_Control
0xfffff00b6e23f7c0 : 0xfffff8040ad18c90 : nt!ExpFinalizeTimerDeletion
0xfffff00b6e23f7d8 : 0xfffff8040d496f04 : storport!StorDelayExecution+0xb4
0xfffff00b6e23f7e0 : 0xfffff8040b725440 : nt!ExNode0
0xfffff00b6e23f840 : 0xfffff8040d44fd10 :  !du ""Controller Reset failed""
0xfffff00b6e23f848 : 0xfffff8040d460000 : "storport!StorpTelemetryLogUnitSmartAttributesMeasures <PERF> (storport+0x0)"
0xfffff00b6e23f8a8 : 0xfffff8040b725440 : nt!ExNode0
0xfffff00b6e23f8e8 : 0xfffff8040d43a00d : stornvme!ControllerReset+0x1a1
0xfffff00b6e23f8f0 : 0xfffff8040b725440 : nt!ExNode0
0xfffff00b6e23f918 : 0xfffff8040d44fd10 :  !du ""Controller Reset failed""
0xfffff00b6e23f968 : 0xfffff8040d43d192 : stornvme!NVMeControllerReset+0x10a
0xfffff00b6e23f998 : 0xfffff8040d43c10f : stornvme!NVMeControllerAsyncResetWorker+0x3f
0xfffff00b6e23f9c8 : 0xfffff8040d498c11 : storport!StorPortWorkItemRoutine+0x41
0xfffff00b6e23f9f0 : 0xfffff8040d498bd0 : storport!StorPortWorkItemRoutine
0xfffff00b6e23f9f8 : 0xfffff8040ad5a4c5 : nt!IopProcessWorkItem+0x135
0xfffff00b6e23fa28 : 0xfffff8040ad5a390 : nt!IopProcessWorkItem
0xfffff00b6e23fa68 : 0xfffff8040ac25975 : nt!ExpWorkerThread+0x105
0xfffff00b6e23fa80 : 0xfffff8040ad5a390 : nt!IopProcessWorkItem
0xfffff00b6e23faa8 : 0xffff800ba42945d0 : 0xffff800ba42c2260 : 0xfffff8040b650c80 : nt!MiSystemPartition
0xfffff00b6e23faf0 : 0xfffff8040ac25870 : nt!ExpWorkerThread
0xfffff00b6e23fb08 : 0xfffff8040ad17e85 : nt!PspSystemThreadStartup+0x55
0xfffff00b6e23fb58 : 0xfffff8040adfd498 : nt!KiStartSystemThread+0x28
0xfffff00b6e23fb70 : 0xfffff8040ad17e30 : nt!PspSystemThreadStartup
Looking at the stack, it looks like the stornvme driver was trying to reset the controller multiple times and failed each time.

I suggest that you check HP for driver updates for the chipset drivers. Update the chipset drivers or reinstall them using newly downloaded drivers from HP.
 
I would suggest to install the most recent chipset drivers from HP and try them, even if the drivers are from a few years ago.
 
Rich (BB code):
0: kd> !whea
Error Source Table @ fffff8040b6db018
5 Error Sources
Error Source 0 @ ffff800ba7df8010
   Notify Type      : Unknown
   Type             : 0x10 (Invalid)
   Error Count      : 1
   Record Count     : 1
   Record Length    : 29f8
   Error Records    : wrapper @ ffff800ba7e1a000  record @ ffff800ba7e1a028
   Descriptor       : @ ffff800ba7df8070
      Length                     : 3cc
      Max Raw Data Length        : d2c
      Num Records To Preallocate : 1
      Max Sections Per Record    : 3
      Error Source ID            : 0
      Flags                      : 00000000

The descriptor field may possibly point to the WHEA_XPF_CMC_DESCRIPTOR structure?

Rich (BB code):
0: kd> dt _WHEA_XPF_CMC_DESCRIPTOR ffff800ba7df8070
PSHED!_WHEA_XPF_CMC_DESCRIPTOR
   +0x000 Type             : 0x3cc
   +0x002 Enabled          : 0 ''
   +0x003 NumberOfBanks    : 0 ''
   +0x004 Reserved         : 0xb
   +0x008 Notify           : _WHEA_NOTIFICATION_DESCRIPTOR
   +0x024 Banks            : [32] _WHEA_XPF_MC_BANK_DESCRIPTOR

Rich (BB code):
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: 0000000000000010, Error Source Type
Arg2: ffff800be6968028
Arg3: ffff800ba7df809c
Arg4: ffff800ba7db71a0

I'm also wondering what the third and fourth parameter are related to? They appear to be in a similar address range to the wrappers?
 
Here's some additional analysis for other analysts to look at too.

So it appears that the wrappers are all represented by a structure called WHEAP_ERROR_RECORD_WRAPPER.

Rich (BB code):
0: kd> dt _WHEAP_ERROR_RECORD_WRAPPER ffff800ba7e1a000
nt!_WHEAP_ERROR_RECORD_WRAPPER
   +0x000 WorkEntry        : _LIST_ENTRY [ 0x00000000`00000000 - 0x00000000`00000000 ]
   +0x010 Length           : 0x29f8
   +0x014 ProcessorNumber  : 0
   +0x018 Flags            : _WHEAP_ERROR_RECORD_WRAPPER_FLAGS
   +0x01c InUse            : 0n0
   +0x020 ErrorSource      : 0xffff800b`a7df8010 _WHEAP_ERROR_SOURCE
   +0x028 ErrorRecord      : _WHEA_ERROR_RECORD

Rich (BB code):
0: kd> dt _WHEAP_ERROR_SOURCE ffff800b`a7df8010
nt!_WHEAP_ERROR_SOURCE
   +0x000 ListEntry        : _LIST_ENTRY [ 0xffff800b`be5438a0 - 0xfffff804`0b6db028 ]
   +0x010 FailedAllocations : 0
   +0x014 PlatformErrorSourceId : 0
   +0x018 ErrorCount       : 0n1
   +0x01c RecordCount      : 1
   +0x020 RecordLength     : 0x29f8
   +0x024 PoolTag          : 0x61656857
   +0x028 Type             : 10 ( WheaErrSrcTypeDeviceDriver )
   +0x030 Records          : 0xffff800b`a7e1a000 _WHEAP_ERROR_RECORD_WRAPPER
   +0x038 Context          : (null) 
   +0x040 SectionCount     : 3
   +0x044 SectionLength    : 0xd7c
   +0x048 TickCountAtLastError : _LARGE_INTEGER 0x0
   +0x050 AccumulatedErrors : 0
   +0x054 TotalErrors      : 0
   +0x058 Deferred         : 0 ''
   +0x05c Busy             : 0n0
   +0x060 Descriptor       : _WHEA_ERROR_SOURCE_DESCRIPTOR

The pool tag simply refers to Whea unfortunately, I was hoping it would reference a third-party device driver.

Rich (BB code):
0: kd> .formats 61656857
Evaluate expression:
  Hex:     00000000`61656857
  Decimal: 1634035799
  Octal:   0000000000014131264127
  Binary:  00000000 00000000 00000000 00000000 01100001 01100101 01101000 01010111
  Chars:   ....aehW
  Time:    Tue Oct 12 11:49:59 2021
  Float:   low 2.64489e+020 high 0
  Double:  8.07321e-315

Rich (BB code):
0: kd> dt _WHEA_ERROR_SOURCE_DESCRIPTOR ffff800b`a7df8070
win32k!_WHEA_ERROR_SOURCE_DESCRIPTOR
   +0x000 Length           : 0x3cc
   +0x004 Version          : 0xb
   +0x008 Type             : 10 ( WheaErrSrcTypeDeviceDriver )
   +0x00c State            : 2 ( WheaErrSrcStateStarted )
   +0x010 MaxRawDataLength : 0xd2c
   +0x014 NumRecordsToPreallocate : 1
   +0x018 MaxSectionsPerRecord : 3
   +0x01c ErrorSourceId    : 0
   +0x020 PlatformErrorSourceId : 0
   +0x024 Flags            : 0
   +0x028 Info             : _WHEA_ERROR_SOURCE_DESCRIPTOR::<unnamed-type-Info>

The Info field offset is only 0x4 off from the address provided in the third parameter, so I'm wondering if it meant to be a pointer to one of the fields of the _WHEA_ERROR_SOURCE_DESCRIPTOR structure which appears to be cast to a specific type?

Rich (BB code):
0: kd> ? ffff800b`a7df8098+4
Evaluate expression: -140687427272548 = ffff800b`a7df809c

It appears that the fourth parameter is possibly a device object or something similar.

Rich (BB code):
0: kd> !pool ffff800b`a7db71a0
Pool page ffff800ba7db71a0 region is Nonpaged pool
*ffff800ba7db7000 : large page allocation, tag is Devi, size is 0x4950 bytes
        Pooltag Devi : Device objects

However, since it is a large page pool allocation, then the usual technique of finding the device object doesn't appear to work.
 
What about this date - 5 months from now - in the .formats code box above?

Code:
Time:    Tue Oct 12 11:49:59 2021

John
 
What about this date - 5 months from now - in the .formats code box above?
The .formats command will take an input string and then attempt to convert it to various data types. You can ignore it. From the WinDbg documentation:

.formats (Show Number Formats)
The evaluated expression is displayed in hexadecimal, decimal, octal, and binary formats, as well as single-precision and double-precision floating-point format. ASCII character formats are also displayed when the bytes correspond to standard ASCII characters. The expression is also interpreted as a time stamp if it is in the allowed range.
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top