Topic: Blue screens with RME HDSPe AIO, verifier blames hdsp_64.sys

Hi!

I have an oldish RME HDSPe AIO which was working fine in my old machine. Now I put it to my new PC (Windows 10, MSI B550-A PRO AM4 ATX motherboard) which had previously worked without issues for a while. After installing the card (with the latest driver 4.3.6.0 and firmware) the machine started to have blue screens every now and then for various reasons. I was not sure what the reason was and did the usual stuff of running memory tests and checking memory dumps but there was never a definite reason.

But now I ran verifier using the instructions from here: https://docs.microsoft.com/en-us/window … r-verifier

When I booted the machine with verifier, it instantly blue screened. I had to use a previous restore point to get back to Windows. I again ran windbg and analyzed the memory.dmp file. Details are below but in short, it blames hdsp_64.sys for attempting to corrupt the system. I noticed there was a similar issue with Thunderbolt but AFAIK I don't have that in my machine. Any idea what to do?



Windbg information below:

Loading Dump File [E:\tmp\dumps\2021-05-10-verifier-MEMORY.DMP]
Kernel Bitmap Dump File: Kernel address space is available, User address space may not be available.

Symbol search path is: srv*
Executable search path is:
Windows 10 Kernel Version 19041 MP (16 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS Personal
Built by: 19041.1.amd64fre.vb_release.191206-1406
Machine Name:
Kernel base = 0xfffff804`13c06000 PsLoadedModuleList = 0xfffff804`148303d0
Debug session time: Mon May 10 00:44:48.902 2021 (UTC + 3:00)
System Uptime: 0 days 0:00:14.583
Loading Kernel Symbols
...............................................................
........Page cead1 not present in the dump file. Type ".hh dbgerr004" for details
.......Page 803fef not present in the dump file. Type ".hh dbgerr004" for details
.................................
Loading User Symbols

Loading unloaded module list
...
For analysis of this file, run !analyze -v
8: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
A device driver attempting to corrupt the system has been caught.  This is
because the driver was specified in the registry as being suspect (by the
administrator) and the kernel has enabled substantial checking of this driver.
If the driver attempts to corrupt the system, bugchecks 0xC4, 0xC1 and 0xA will
be among the most commonly seen crashes.
Arguments:
Arg1: 0000000000002000, Code Integrity Issue: The caller specified an executable pool type. (Expected: NonPagedPoolNx)
Arg2: fffff801d25d1f21, The address in the driver's code where the error was detected.
Arg3: 0000000000000000, Pool Type.
Arg4: 0000000048445350, Pool Tag (if provided).

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


KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.Sec
    Value: 5

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

    Key  : Analysis.DebugData
    Value: CreateObject

    Key  : Analysis.DebugModel
    Value: CreateObject

    Key  : Analysis.Elapsed.Sec
    Value: 13

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

    Key  : Analysis.System
    Value: CreateObject


BUGCHECK_CODE:  c4

BUGCHECK_P1: 2000

BUGCHECK_P2: fffff801d25d1f21

BUGCHECK_P3: 0

BUGCHECK_P4: 48445350

BLACKBOXNTFS: 1 (!blackboxntfs)


PROCESS_NAME:  System

LOCK_ADDRESS:  fffff8041484ac60 -- (!locks fffff8041484ac60)

Resource @ nt!PiEngineLock (0xfffff8041484ac60)    Exclusively owned
    Contention Count = 1
    NumberOfExclusiveWaiters = 1
     Threads: ffffc70197eef040-01<*>

     Threads Waiting On Exclusive Access:
              ffffc70197b2d140       
1 total locks

PNP_TRIAGE_DATA:
    Lock address  : 0xfffff8041484ac60
    Thread Count  : 1
    Thread address: 0xffffc70197eef040
    Thread wait   : 0x3a5

STACK_TEXT: 
ffffd70d`c3a61348 fffff804`145d3e14 : 00000000`000000c4 00000000`00002000 fffff801`d25d1f21 00000000`00000000 : nt!KeBugCheckEx
ffffd70d`c3a61350 fffff804`141a2335 : fffff804`14818c70 00000000`00002000 fffff801`d25d1f21 00000000`00000000 : nt!VerifierBugCheckIfAppropriate+0xe0
ffffd70d`c3a61390 fffff804`145cadd4 : 00000000`48445350 fffff804`14818c70 fffff801`d25d1f21 00000000`00000000 : nt!VfReportIssueWithOptions+0x101
ffffd70d`c3a613e0 fffff804`145d7fd2 : 00000000`00000000 ffffc701`a243f050 00000000`00140000 00000000`00000000 : nt!VfCheckPoolType+0x90
ffffd70d`c3a61420 fffff801`d25d1f21 : ffffc701`a243f480 00000000`00000000 00000000`00000000 00000000`00000400 : nt!VerifierExAllocatePoolWithTag+0x62
ffffd70d`c3a61470 fffff801`d25d71eb : ffffc701`a18c8d70 ffffc701`a18c8d70 ffffc701`a243f050 00000000`00000000 : hdsp_64+0x1f21
ffffd70d`c3a614c0 fffff804`14fcc2ca : 00000000`00000000 ffffc701`9f0c7120 ffffc701`9f0f5110 ffffc701`9f0c7120 : hdsp_64+0x71eb
ffffd70d`c3a61670 fffff804`14061197 : fffff804`14fcc190 00000000`00000004 ffffc701`9f0c7120 00000000`00000000 : VerifierExt!xdv_AddDevice_wrapper+0x13a
ffffd70d`c3a616d0 fffff804`1432a054 : ffffc701`a18c8d70 ffffc701`a1ffedd0 00000000`00000003 ffffc701`97b5da00 : nt!PpvUtilCallAddDevice+0xf01eb
ffffd70d`c3a61710 fffff804`1432d83f : 00000000`00000003 00000000`00000000 00000000`6e657050 00000000`00000002 : nt!PnpCallAddDevice+0x94
ffffd70d`c3a617d0 fffff804`1432cbc7 : ffffc701`9f0c7a60 ffffd70d`c3a61a11 ffffc701`9f0c7a60 00000000`00000000 : nt!PipCallDriverAddDevice+0x827
ffffd70d`c3a61990 fffff804`143c3fbc : ffffc701`a22f2800 ffffd70d`c3a61b01 ffffd70d`c3a61ab0 fffff804`00000000 : nt!PipProcessDevNodeTree+0x333
ffffd70d`c3a61a60 fffff804`13f7237c : 00000001`00000003 ffffc701`a22f28c0 00000000`00000000 ffffc701`a22f28c0 : nt!PiProcessStartSystemDevices+0x60
ffffd70d`c3a61ab0 fffff804`13e2b975 : ffffc701`97eef040 ffffc701`97a92400 fffff804`148495a0 ffffc701`00000000 : nt!PnpDeviceActionWorker+0x4cc
ffffd70d`c3a61b70 fffff804`13f1de85 : ffffc701`97eef040 00000000`00000080 ffffc701`97aa8040 00000000`00000000 : nt!ExpWorkerThread+0x105
ffffd70d`c3a61c10 fffff804`14003498 : ffff8500`cb040180 ffffc701`97eef040 fffff804`13f1de30 00000000`00000000 : nt!PspSystemThreadStartup+0x55
ffffd70d`c3a61c60 00000000`00000000 : ffffd70d`c3a62000 ffffd70d`c3a5c000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x28


SYMBOL_NAME:  hdsp_64+1f21

MODULE_NAME: hdsp_64

IMAGE_NAME:  hdsp_64.sys

STACK_COMMAND:  .thread ; .cxr ; kb

BUCKET_ID_FUNC_OFFSET:  1f21

FAILURE_BUCKET_ID:  0xc4_2000_VRF_hdsp_64!unknown_function

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {59218fba-ae70-84a3-a3ec-a296b73a1c9b}

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

8: kd> lmvm hdsp_64
Browse full module list
start             end                 module name
fffff801`d25d0000 fffff801`d25f1000   hdsp_64    (no symbols)           
    Loaded symbol image file: hdsp_64.sys
    Image path: \SystemRoot\system32\drivers\hdsp_64.sys
    Image name: hdsp_64.sys
    Browse all global symbols  functions  data
    Timestamp:        Tue Dec  8 15:59:54 2020 (5FCF86DA)
    CheckSum:         00024FF9
    ImageSize:        00021000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
8: kd> lmDvmhdsp_64