Correlation between driver verifier and WinDbg

Hi all,

My NIC device driver works normally and I can test it with WinDbg and everything is OK, but when I’ll test it with driver verifier, exactly after enabling the driver the blue screen appears with a 0xC1 (SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION) or 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) bug check. From MSDN these mean “A driver attempted to free pool at an incorrect IRQL.” and "The driver attempted to free nonpaged pool with IRQL > DISPATCH_LEVEL. "

How can I inspect the driver correctness or any idea?

Thanks
Alireza

WinDbg is NOT a tool to test your driver, it is a debugger, So to solve your
problem run your driver with driver verifier enabled and use WinDbg to step
in and see why it is failing.

rtshiva

On Sun, Sep 13, 2009 at 3:02 PM, wrote:

> Hi all,
>
> My NIC device driver works normally and I can test it with WinDbg and
> everything is OK, but when I’ll test it with driver verifier, exactly after
> enabling the driver the blue screen appears with a 0xC1
> (SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION) or 0xC4
> (DRIVER_VERIFIER_DETECTED_VIOLATION) bug check. From MSDN these mean “A
> driver attempted to free pool at an incorrect IRQL.” and "The driver
> attempted to free nonpaged pool with IRQL > DISPATCH_LEVEL. "
>
> How can I inspect the driver correctness or any idea?
>
> Thanks
> Alireza
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Enable Driver Verifier and attach WinDbg with proper path to symbols, source code and image.
When you get BSoD in WinDbg run !analyze -v. You would get a place where exception happened.

Igor Sharovar

When verifying NIC drivers (that means an NDIS Miniport right?) be sure to
enable verifier on both your driver and NDIS.SYS.

Treat any assertion failures as a problem in your driver even if the system
reports a problem with NDIS.SYS. If DV asserts on an action from NDIS.SYS,
figure out what your NDIS Miniport Driver did to invoke the asserting
behavior in NDIS.

Good Luck,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of igor.sharovar@hp.com
Sent: Sunday, September 13, 2009 10:44 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Correlation between driver verifier and WinDbg

Enable Driver Verifier and attach WinDbg with proper path to symbols, source
code and image.
When you get BSoD in WinDbg run !analyze -v. You would get a place where
exception happened.

Igor Sharovar


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

> How can I inspect the driver correctness or any idea?

Just look at call stack of these crashes.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com