Microsoft KB Archive/201214

{|
 * width="100%"|

FIX: NdisMIndicateReceivePacket Bugchecks on Multiproc Checked Build

 * }

Q201214

-

The information in this article applies to:


 * Microsoft Win32 Device Driver Kit (DDK) for Windows NT, version 4.0

-

SYMPTOMS
A deserialized miniport network driver interface specification (NDIS) 4.0 running on a multiprocessor CHECKED build of Windows NT 4.0 Service Pack 3, bugchecks the system if it calls NdisMIndicateReceivePacket. This bugcheck occurs because NDIS recursively acquires an internal SpinLock in NdisMIndicateReceivePacket. The hardware abstraction layer (HAL) checks for SpinLock recursion on a CHECKED build. The (HAL) does not test for this on a FREE build of Windows NT, thus a deadlock can occur.

Typical output from a checked build of Windows NT 4.0 Service Pack 3 looks like the following in the debugger.

NOTE: The bugcheck code is the address of the SpinLock.

*** Fatal System Error: 0x80546B88 (0x00000000,0x00000000,0x00000000,0x00000000)

Hard coded breakpoint hit > kb FramePtr RetAddr   Param1   Param2   Param3   Function Name

f9017c9c 801222a0  00000003 805455f4 80544000 NT!RtlpBreakWithStatusInstruction f9017e14 80121fe9  80546b88 00000000 00000000 NT!KeBugCheckEx+0xf0 f9017e30 801781ee  80546b88 00000010 00000002 NT!KeBugCheck+0x11 f9017e40 8000527c  80546b88 00000005 fe4b5699 NT!Kii386SpinOnSpinLock@8+0x42 f9017e4c fe4b5699  f9017e74 80127321 f9017f28 HAL!@KfAcquireSpinLock@4+0x3c f9017e60 f8ce6f4b  80546b58 f9017e80 00000010 NDIS!ethFilterIndicateReceivePacketX+0x12 f9017f88 f8ce6517  01017ec0 806ac000 f9017fe0 E100BEX!ProcessRXInterrupt+0x3b7 f9017fa8 fe48d42f  80545000 00000000 8054501c E100BEX!D100HandleInterrupt+0xdf f9017fc8 80173738  80545030 8054501c 00000000 NDIS!ndisMDpc+0x11a f9017ff4 8017366b  0000000e 00000000 7142dd77 NT!KiRetireDpcList+0x6b 806ac600 806ac600  00000000 f9017ff4 00000bb7 NT!KiIdleLoop+0x4b >

CAUSE
NDIS recursively acquires an internal SpinLock for deserialized miniports.

RESOLUTION
Install Service Pack 4.

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been corrected in Service Pack 4.

Additional query words: kbDSupport NDIS

Keywords : kbDDK kbNDIS kbOSWinNT400bug kbOSWinNT400fix kbOSWinNT400sp3bug kbOSWinNT400sp3 kbGrpDSNTDDK

Issue type : kbbug

Technology : kbAudDeveloper kbWinDDKSearch kbWin32sSearch kbWin32DDKSearch kbWin32DDKNT400 kbWin32DDKNTSearch