Ok, sorry for the lack of symbols. This is the first time I’ve used windbg, still finding my way about.
I’ve commented out the KdPrints, but why they would be causing the errors confuses me. Is translating ‘FUNCTION’ to a %s an issue in certain circumstances?
Peter, you’re right that my MemDrvCleanup routine is a handler for IRP_MJ_CLEANUP. This routine is used to cleanup stuff after my driver and win app have stopped sharing a block of memory that I’m using to transport data from the driver to the app. Why this is getting called for my extra device object I don’t know, I’ve not got as far as communicating memory addresses or anything to the edo (yet).
Here’s my latest windbg data:
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Some common problems are exception code 0x80000003. This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG. This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but …
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG. This will let us see why this breakpoint is
happening.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: f7a124c1, The address that the exception occurred at
Arg3: edee6bd4, Trap Frame
Arg4: 00000000
Debugging Details:
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at “0x%08lx” referenced memory at “0x%08lx”. The memory could not be “%s”.
FAULTING_IP:
hpfilter!MemDrvCleanup+71 [c:\winddk\6001.18002\src\storage\filters\hpfilter\hpfilter.cpp @ 1348]
f7a124c1 8b5008 mov edx,dword ptr [eax+8]
TRAP_FRAME: edee6bd4 – (.trap 0xffffffffedee6bd4)
ErrCode = 00000000
eax=48000000 ebx=858eeac8 ecx=858eeb28 edx=48000000 esi=8654dc78 edi=8586d8a8
eip=f7a124c1 esp=edee6c48 ebp=edee6c60 iopl=0 ov up ei ng nz ac pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010a97
hpfilter!MemDrvCleanup+0x71:
f7a124c1 8b5008 mov edx,dword ptr [eax+8] ds:0023:48000008=???
Resetting default scope
CUSTOMER_CRASH_COUNT: 7
DEFAULT_BUCKET_ID: COMMON_SYSTEM_FAULT
BUGCHECK_STR: 0x8E
PROCESS_NAME: iSpy.exe
LOCK_ADDRESS: 805591e0 – (!locks 805591e0)
Resource @ nt!PiEngineLock (0x805591e0) Available
WARNING: SystemResourcesList->Flink chain invalid. Resource may be corrupted, or already deleted.
WARNING: SystemResourcesList->Blink chain invalid. Resource may be corrupted, or already deleted.
1 total locks
PNP_TRIAGE:
Lock address : 0x805591e0
Thread Count : 0
Thread address: 0x00000000
Thread wait : 0x0
LAST_CONTROL_TRANSFER: from 804ee129 to f7a124c1
STACK_TEXT:
edee6c60 804ee129 855e0030 858eeab8 858eeab8 hpfilter!MemDrvCleanup+0x71 [c:\winddk\6001.18002\src\storage\filters\hpfilter\hpfilter.cpp @ 1348]
edee6ca4 805b21e0 857c9568 855e0030 0012019f nt!CcLazyWriteScan+0x398
edee6cd4 805b1b0d 857c9568 00000001 867e9e70 nt!pIoQueryBusDescription+0xda
edee6cfc 805b1bab e502fbb8 8586d8a8 00000094 nt!CmTypeString+0x7d
edee6d44 805b1ce3 00000094 00000001 00000000 nt!string'+0x13 edee6d58 8053d648 00000094 0012f710 7c90e514 nt!
string’+0xb
edee6d64 7c90e514 badb0d00 0012f70c edba2d98 nt!PopRunDownSourceTargetList+0x10e
WARNING: Frame IP not in any known module. Following frames may be wrong.
edee6d68 badb0d00 0012f70c edba2d98 edba2dcc 0x7c90e514
edee6d6c 0012f70c edba2d98 edba2dcc 00000000 0xbadb0d00
edee6d70 edba2d98 edba2dcc 00000000 00000000 0x12f70c
edee6d74 edba2dcc 00000000 00000000 00000000 0xedba2d98
edee6d78 00000000 00000000 00000000 00000000 0xedba2dcc
STACK_COMMAND: kb
FOLLOWUP_IP:
hpfilter!MemDrvCleanup+71 [c:\winddk\6001.18002\src\storage\filters\hpfilter\hpfilter.cpp @ 1348]
f7a124c1 8b5008 mov edx,dword ptr [eax+8]
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: hpfilter!MemDrvCleanup+71
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: hpfilter
IMAGE_NAME: hpfilter.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4ab38162
FAILURE_BUCKET_ID: 0x8E_hpfilter!MemDrvCleanup+71
BUCKET_ID: 0x8E_hpfilter!MemDrvCleanup+71
Thanks,
Ben