Tuesday, January 9, 2007 9:32 PM
by
Ken
Causes, and tips for debugging, a STOP 0x0000000A (IRQL_NOT_LESS_OR_EQUAL) bugcheck/blue screen - Part 3
Sometimes when looking at your dump files, the actual cause isn't possible to determine due to issues such as memory corruption. For example a buggy module may write to some memory address that it doesn't own. When the real owner comes to read back its data, the data is now corrupt and an exception is raised. Unfortunately the crashing module is a victim rather than the real culprit. Your crash dump may look something like this:
BugCheck A, {80ed3d84, 1c, 0, 806c7d4c}
Probably caused by : memory_corruption
STACK_TEXT:
b754b3a4 804dce53 0000000a 80ed3d84 0000001c nt!KeBugCheckEx+0x19
b754b3a4 806c7d4c 0000000a 80ed3d84 0000001c nt!KiTrap0E+0x2ad
b754b43c 80512600 00000008 00000003 00000000 hal!HalpClockInterrupt+0x98
b754b4b0 bf878168 bcfca098 000005dc 00000000 nt!RtlFillMemoryUlong+0x10
b754b4e4 bf87b464 b754b758 00000177 bcf10008 win32k!vSolidFillRect1+0x106
b754b664 bf87afa7 bf87806b b754b758 e2a325a4 win32k!vDIBSolidBlt+0x199
b754b6d0 bf87b152 e1912008 00000000 00000000 win32k!EngBitBlt+0xdf
b754b720 bf875ae0 e19ba780 b754b780 e2a32424 win32k!GrePatBltLockedDC+0x1ff
b754b7b8 bf875668 b754b8f0 0000f0f0 7ffde20c win32k!GrePolyPatBltInternal+0x17c
b754b924 804da112 000000c0 0012f348 00000202 win32k!NtGdiFlushUserBatch+0x384
b754b924 7ffe0304 000000c0 0012f348 00000202 nt!KiSystemService+0x96
0012f358 00000000 00000000 00000000 00000000 SharedUserData!SystemCallStub+0x4
In this case the next step is to enable Driver Verifier. Driver Verifier ships with Windows 2000 and above. It provides a number of capabilities to detect operations by kernel modules that may cause a crash or system instability. Microsoft KB Article 244617 provides detailed information on the capabilities of Driver Verifier, and how to enable and disable it.
Note that enabling Driver Verifier won't stop your system from crashing. However your dump files will mostly likely contain meaningful information rather than random gibberish. In the case of the crash above, the problematic module turned out to be from a popular Antivirus product, and updating to the latest version fixed the crashes.
For those that missed the first two parts: Part 1 & Part 2