Dear Gentlemen`s,
I have implemented NDIS IM pass-through driver, and all its
functionality works fine except one.
The system failed to resume after StandBy or Hibernate with BSOD in
ndis.sys.
When my driver uninstalled, the system resume fine.
I will appreciate for any help to start research with.
The crashdump analysis is bellow:
Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:.crash\MEMORY.DMP]
Kernel Summary Dump File: Only kernel address space is available
WARNING: Inaccessible path: ‘C:.crash’
Symbol search path is:
D:.crash;C:.crash;srv*D:.symbols*http://msdl.microsoft.com/download/symbols;srv\*D:\.symbols\*https://codepremium.msdn.microsoft.com/Symbols
Executable search path is:
Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86
compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp3_gdr.090206-1234
Machine Name:
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
Debug session time: Thu Sep 17 18:36:51.453 2009 (GMT+3)
System Uptime: 0 days 0:02:10.994
Loading Kernel Symbols
…
…
Loading User Symbols
Loading unloaded module list
…
*******************************************************************************
*
*
* Bugcheck
Analysis *
*
*
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck D1, {0, 2, 0, b9cfc0b8}
Probably caused by : NDIS.sys ( NDIS!ndisMSyncQueryInformationComplete+32 )
Followup: MachineOwner
1: kd> !analyze -v
*******************************************************************************
*
*
* Bugcheck
Analysis *
*
*
*******************************************************************************
DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address
at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 00000000, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: b9cfc0b8, address which referenced memory
Debugging Details:
READ_ADDRESS: 00000000
CURRENT_IRQL: 2
FAULTING_IP:
NDIS!ndisMSyncQueryInformationComplete+32
b9cfc0b8 8b0f mov ecx,dword ptr [edi]
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xD1
PROCESS_NAME: System
TRAP_FRAME: b8c6cca8 – (.trap 0xffffffffb8c6cca8)
ErrCode = 00000000
eax=8a5ad884 ebx=00000000 ecx=00000000 edx=c0010011 esi=8a5ad748
edi=00000000
eip=b9cfc0b8 esp=b8c6cd1c ebp=b8c6cd30 iopl=0 nv up ei pl zr na
pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000
efl=00010246
NDIS!ndisMSyncQueryInformationComplete+0x32:
b9cfc0b8 8b0f mov ecx,dword ptr [edi]
ds:0023:00000000=???
Resetting default scope
LAST_CONTROL_TRANSFER: from b9cfc0b8 to 805446f0
STACK_TEXT:
b8c6cca8 b9cfc0b8 badb0d00 c0010011 8a21c76c nt!KiTrap0E+0x238
b8c6cd30 b9cfc362 00000000 8a7728b0 8a5ad748
NDIS!ndisMSyncQueryInformationComplete+0x32
b8c6cd58 b9cf8a11 8a7728b0 8a5ad748 8a45f290 NDIS!ndisMDoRequests+0x30c
b8c6cd74 b9cfc3a6 8a7728b0 8a45f290 8a4642d8 NDIS!ndisMRequest+0xfc
b8c6cd98 b9ce9baa 8a4642c0 00000000 8a2ff2a8 NDIS!ndisMRundownRequests+0x32
b8c6cdac 805cff70 8a4642c8 00000000 00000000 NDIS!ndisWorkerThread+0x75
b8c6cddc 805460ee b9ce9b85 8a4642c8 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
NDIS!ndisMSyncQueryInformationComplete+32
b9cfc0b8 8b0f mov ecx,dword ptr [edi]
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: NDIS!ndisMSyncQueryInformationComplete+32
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: NDIS
IMAGE_NAME: NDIS.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 48025d03
FAILURE_BUCKET_ID: 0xD1_NDIS!ndisMSyncQueryInformationComplete+32
BUCKET_ID: 0xD1_NDIS!ndisMSyncQueryInformationComplete+32
Followup: MachineOwner
Best regards,
–
Andrew Rukavishnikov
Sunbay Innovations Ltd.