Hi,
I have been trying for days to find out where my NDIS-WDM driver
is corrupting memory. But each crash has different characteristics
and I can’t pinpoint the root cause of the problem. Sometimes
I get a 0x0A bugcheck, sometimes a 0xD1 bugcheck and at other
times a 0xc5 error.
I am running the checked versions of ntoskrnl.exe, halacpi.dll
and ndis.sys for WinXP SP1 and using the driver verifier. The latest
bugcheck shows some details that I didn’t see before (the ‘MM:’
lines). But it still does not indicate where the problem occured.
I have a lot of ‘dbgprintf()’ in the code and the last line printed was
“Exiting MiniportSendPackets…”, the last line of the
‘SendPacketsHandler’ function.
How do I use the information below to locate where the problem
occurred?
Thanks,
- Harshal
MM:***PAG FAULT AT IRQL > 1 Va CD34CD1A, IRQL 2
MM:***EIP 80CBEF24, EFL 00010206
MM:***EAX CD34CD1A, ECX 8279CF68 EDX CD34CD32
MM:***EBX 82181E01, ESI 82181C10 EDI 80AF0D24
*** Fatal System Error: 0x0000000a
(0xCD34CD1A,0x00000002,0x00000000,0x80CBEF24)
kd> !analyze -v
Arg1: cd34cd1a, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: 80cbef24, address which referenced memory
Debugging Details:
READ_ADDRESS: cd34cd1a Nonpaged pool
CURRENT_IRQL: 2
FAULTING_IP:
nt!ViIrpDatabaseFindPointer+20
80cbef24 3908 cmp [eax],ecx
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xA
LAST_CONTROL_TRANSFER: from 80cbf6f5 to 80cbef24
TRAP_FRAME: f7ae5b10 – (.trap fffffffff7ae5b10)
ErrCode = 00000000
eax=cd34cd1a ebx=82181e01 ecx=8279cf68 edx=cd34cd32 esi=82181c10 edi=80af0d24
eip=80cbef24 esp=f7ae5b84 ebp=f7ae5ba0 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010206
nt!ViIrpDatabaseFindPointer+0x20:
80cbef24 3908 cmp [eax],ecx
Resetting default scope
STACK_TEXT:
f7ae5b84 80cbf6f5 81e43638 8279cf68 82181c10 nt!ViIrpDatabaseFindPointer+0x20
f7ae5ba0 80cb736c 81e43638 8279cf68 8279cf68 nt!VfIrpDatabaseEntryFindAndLock+0x3f
f7ae5bb8 80cae3b2 82181e01 f7ae5bdb f7ae5be8 nt!VerifierIoInitializeIrp+0xe
f7ae5bc8 80a21383 8279cf68 00000094 82181e01 nt!IovInitializeIrp+0x1e
f7ae5be8 80cb74cd 8279cf68 00000094 82181e01 nt!IoInitializeIrp+0x1f
f7ae5c18 80cb7572 f7ae5c3c 82039728 00000001 nt!ViIrpAllocateLockedPacket+0x73
f7ae5c34 80cae553 00000000 81e43638 82039728 nt!VerifierIoAllocateIrp1+0x3c
f7ae5c6c 80b18df0 00000001 00000001 f7ae5d58 nt!IovAllocateIrp+0x1d
f7ae5cf4 80b0ec70 000002cc 00000000 00000000 nt!IopXxxControlFile+0x3e4
f7ae5d28 80ac2efc 000002cc 00000000 00000000 nt!NtDeviceIoControlFile+0x28
f7ae5d28 7ffe0304 000002cc 00000000 00000000 nt!KiSystemService+0x13b
009bf534 77f5b864 77e7565b 000002cc 00000000 SharedUserData!SystemCallStub+0x4
009bf538 77e7565b 000002cc 00000000 00000000 ntdll!ZwDeviceIoControlFile+0xc
009bf598 76d61c26 000002cc 00120003 009bf7e8 kernel32!DeviceIoControl+0xdd
009bf5f4 76d6246e 00000006 00000000 009bf7e8 iphlpapi!WsControl+0xf3
009bf860 76d61c5b 009bfb18 0015ffd0 00160018 iphlpapi!GetAdapterList+0x443
009bf894 76d61fad 00000000 0015ffd0 00160018 iphlpapi!GetAdapterInfo+0x1f
009bf8e8 75d38759 00000000 009bfb18 00000000 iphlpapi!GetAdapterInfoEx+0x1c
009bfb10 75d3c196 00000000 015a8358 009bfc10 NETSHELL!HrGetAutoNetSetting+0x35
009bfbd0 75d3a044 009bfbec 00000001 000d3e30 NETSHELL!CLanStatEngine::HrUpdateData+0x15d
009bfbf4 75d36454 0015ffe0 009bfc10 009bfca0 NETSHELL!CNetStatisticsEngine::UpdateStatistics+0x2b
009bfc18 75d37393 00063c83 75d3735f 0017a060 NETSHELL!CNetStatisticsCentral::RefreshStatistics+0x4c
009bfc2c 77d43a50 00000000 00000113 00007fd2 NETSHELL!CNetStatisticsCentral::TimerCallback+0x34
009bfc58 77d442c5 75d3735f 00000000 00000113 USER32!InternalCallWinProc+0x1b
009bfcc0 77d43e6f 00000000 75d3735f 00000000 USER32!UserCallWinProc+0xf3
009bfd18 77d43ddf 009bfd6c 00000000 74b015d7 USER32!DispatchMessageWorker+0x10e
009bfd24 74b015d7 009bfd6c 771c301d 74b00000 USER32!DispatchMessageW+0xb
009bfd90 74b02f1b 74b00000 00000000 000200f0 stobject!SysTrayMain+0x175
009bffb4 77e7d28e 00000000 771c301d 00a9f580 stobject!CSysTray::SysTrayThreadProc+0x45
009bffec 00000000 74b02ed6 00000000 00000000 kernel32!BaseThreadStart+0x37
FOLLOWUP_IP:
nt!ViIrpDatabaseFindPointer+20
80cbef24 3908 cmp [eax],ecx
SYMBOL_STACK_INDEX: 0
FOLLOWUP_NAME: MachineOwner
SYMBOL_NAME: nt!ViIrpDatabaseFindPointer+20
MODULE_NAME: nt
IMAGE_NAME: ntoskrnl.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 3d6dd014
STACK_COMMAND: .trap fffffffff7ae5b10 ; kb
FAILURE_BUCKET_ID: 0xA_VRF_nt!ViIrpDatabaseFindPointer+20
BUCKET_ID: 0xA_VRF_nt!ViIrpDatabaseFindPointer+20