Re: ndistest crashes in ndproto51.sys

Tech-Archive recommends: Speed Up your PC by fixing your registry



And what will !deadlock say?

--
Maxim S. Shatskih
Windows DDK MVP
maxim@xxxxxxxxxxxxxxxx
http://www.storagecraft.com

<jofferman@xxxxxxxxx> wrote in message news:41447e0b-8d24-461d-9794-da90eaa98431@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi, I'm writing a NIC driver on W2k3 SP2. Today I tried to run
ndistest and got a crash. I tried a couple of different tests
individually and it seems like it always ends up crashing at the same
spot in ndprot51.sys. Can anybody tell me what's wrong? Thanks.


6: 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.
Parameter 1 = 0x1000 .. 0x1020 - deadlock verifier error
codes.
Typically the code is 0x1001 (deadlock detected) and
you can
issue a '!deadlock' KD command to get more information.
Arguments:
Arg1: 0000000000000038, a resource is being released but APCs are not
disabled.
Arg2: 0000000000000000, current IRQL,
Arg3: 0000000000000000, thread APC disable count,
Arg4: fffffadf34ae8888, resource.

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


BUGCHECK_STR: 0xc4_38

CURRENT_IRQL: 2

DEFAULT_BUCKET_ID: DRIVER_FAULT

PROCESS_NAME: ndistest.exe

MANAGED_STACK: !dumpstack -EE
No export dumpstack found

LAST_CONTROL_TRANSFER: from fffff800010d673e to fffff80001026db0

STACK_TEXT:
fffffadf`20dcfc78 fffff800`010d673e : 00000000`00000006
00000000`00000000 00000000`00000038 fffff800`0105669e : nt!
DbgBreakPointWithStatus
fffffadf`20dcfc80 fffff800`010d7d0e : fffff800`00000003
00000000`000000c4 00000000`00000038 00000000`00000000 : nt!
KiBugCheckDebugBreak+0x1e
fffffadf`20dcfce0 fffff800`0102ea54 : 00000000`00000000
fffff800`013e2294 fffffadf`384c1772 fffffadf`00000004 : nt!
KeBugCheck2+0x640
fffffadf`20dd0320 fffff800`013e1997 : 00000000`000000c4
00000000`00000038 00000000`00000000 00000000`00000000 : nt!KeBugCheckEx
+0x104
fffffadf`20dd0360 fffffadf`20b367dd : fffffadf`36456ee0
fffffaaf`0b610f00 fffffadf`364373b0 00000000`00000000 : nt!
VerifierExReleaseResourceLite+0x67
fffffadf`20dd03a0 fffffadf`20b367a8 : fffffadf`34ae8570
fffffadf`3424b170 fffffadf`00000000 00000000`3424b1bc :
ndprot51+0xb7dd
fffffadf`20dd03d0 fffffadf`20b3a428 : fffffadf`33148630
fffffadf`34ae8570 fffffadf`3424b170 fffffadf`3424b170 :
ndprot51+0xb7a8
fffffadf`20dd0400 fffffadf`20b3930f : fffffadf`33148630
fffffadf`34ae8570 fffffadf`33464b00 fffffadf`20b7ec01 :
ndprot51+0xf428
fffffadf`20dd04f0 fffffadf`20b34413 : fffffadf`33148630
00000000`00000000 fffffadf`20dd0760 fffffadf`20dd0770 :
ndprot51+0xe30f
fffffadf`20dd05c0 fffffadf`20b3817a : fffffadf`33148630
fffffadf`20dd0760 fffffadf`20dd0770 fffffadf`384c1520 :
ndprot51+0x9413
fffffadf`20dd0720 fffffadf`20b34e99 : fffffadf`33148630
fffffadf`384c1500 fffffadf`1ea33310 fffff800`0109ba3d :
ndprot51+0xd17a
fffffadf`20dd07f0 fffffadf`20b2f366 : fffffadf`33cf32d0
00000000`3c000001 fffffadf`384c1500 00000000`00000388 :
ndprot51+0x9e99
fffffadf`20dd0880 fffffadf`20b807c5 : 00000000`3c000001
fffffadf`384c1500 fffff800`00000388 fffffadf`1ea33310 :
ndprot51+0x4366
fffffadf`20dd0910 fffffadf`20b30dde : fffffadf`380d9040
fffffadf`335038a0 fffffaaf`0b610ee0 fffffaaf`0b610fb0 :
ndprot51+0x557c5
fffffadf`20dd09c0 fffff800`013df255 : fffffadf`335038a0
fffffaaf`0b610ee0 fffff800`01280101 fffff800`01280111 :
ndprot51+0x5dde
fffffadf`20dd0a00 fffff800`01280111 : fffffadf`34827370
fffffaaf`0b610ee0 00000000`00000001 fffffadf`34827301 : nt!
IovCallDriver+0x1b5
fffffadf`20dd0a70 fffff800`0127fc16 : 00000000`00000000
00000000`00000a38 00000000`00000000 00000000`003ecf28 : nt!
IopXxxControlFile+0xa79
fffffadf`20dd0b90 fffff800`0102e3fd : 00000000`00000000
00000000`00000000 00000000`00000000 00000000`00000000 : nt!
NtDeviceIoControlFile+0x56
fffffadf`20dd0c00 00000000`77ef0a5a : 00000000`77d5effa
00000642`80898160 00000000`1e1a8d38 00000000`00000000 : nt!
KiSystemServiceCopyEnd+0x3
00000000`1e1a8a58 00000000`77d5effa : 00000642`80898160
00000000`1e1a8d38 00000000`00000000 00000000`00000000 : ntdll!
NtDeviceIoControlFile+0xa
00000000`1e1a8a60 00000642`7f668004 : 00000000`00000a38
00000642`7f58d74d 00000000`1e1a8e00 00000000`00000000 : KERNEL32!
DeviceIoControl+0x163
00000000`1e1a8c40 00000642`8066dba1 : 00000642`804e24a0
00000642`7f663417 00000000`00000388 00000000`02142368 : mscorwks!
DoNDirectCall__PatchGetThreadCall+0x78
00000000`1e1a8d00 00000642`804e24a0 : 00000642`7f663417 0000
.



Relevant Pages

  • Re: ndistest crashes in ndproto51.sys
    ... The verifier found a deadlock, ... A device driver attempting to corrupt the system has been caught. ... Arg2: 0000000000000000, current IRQL, ... MANAGED_STACK:!dumpstack -EE ...
    (microsoft.public.development.device.drivers)
  • ndistest crashes in ndproto51.sys
    ... A device driver attempting to corrupt the system has been caught. ... codes. ... Arg4: fffffadf34ae8888, resource. ... MANAGED_STACK:!dumpstack -EE ...
    (microsoft.public.development.device.drivers)
  • Re: Compressed textures
    ... beginscene draw endscene ... present, goto 1 ... so the driver is always free to choose to ignore the discard-locking-mode. ... But when a resource is logically simultaneously in use by more then one ...
    (microsoft.public.win32.programmer.directx.graphics)
  • Re: How to listen the Process for the resource usage?
    ... Monitor the installation of the application and create the resource list. ... Kernel module should be able to create the resource list. ... kernel module that we could write is an driver. ... Don Burn (MVP, Windows DDK) ...
    (microsoft.public.development.device.drivers)
  • Re: [RFC][PATCH] netconsole: avoid deadlock on printk from driver code
    ... driver code. ... determine whether a deadlock can occur if we try to transmit another ... Note that this may lead to lost messages if the driver is active on ... another CPU while we try to use the same device for netconsole. ...
    (Linux-Kernel)