VALIDATION BUG IS FATAL

Hi,

Could someone plese help me to find a reason of this message:

***********************************************************************
* THIS VALIDATION BUG IS FATAL AND WILL CAUSE THE VERIFIER TO HALT *
* WINDOWS (BUGCHECK) WHEN THE MACHINE IS NOT UNDER A KERNEL DEBUGGER! *
***********************************************************************

WDM DRIVER ERROR: [test_driver @ 0xBAADF5E0] Caller has completed
successful IRP_MJ_PNP instead of passing it down (Irp =
89942F00 ).
IRP_MJ_PNP.IRP_MN_QUERY_STOP_DEVICE
[DevObj=896EC020, FileObject=00000000, Parameters=00000000 00000000 00000000 00000000]
http://www.microsoft.com/hwdq/bc/default.asp?os=5.1.2600&major=0xc9&minor=0x22e&lang=0x9
Break, Ignore, Zap, Remove, Disable all (bizrd)?

Thank you,
Andrew

Can we expect a thread for every PnP IRP minor function code?!

http://www.osronline.com/showThread.cfm?link=114137

The reason is stated right here “Caller has completed successful IRP_MJ_PNP instead of passing it down (Irp = 89942F00 ).” You completed the IRP when you should have only passed it down. You’ve got the address of the IRP, and an !analyze -v may show you the failing function.


The personal opinion of
Gary G. Little

“Andrey Kamchatnikov” wrote in message news:xxxxx@ntdev…
Hi,

Could someone plese help me to find a reason of this message:


* THIS VALIDATION BUG IS FATAL AND WILL CAUSE THE VERIFIER TO HALT *
* WINDOWS (BUGCHECK) WHEN THE MACHINE IS NOT UNDER A KERNEL DEBUGGER! *


WDM DRIVER ERROR: [test_driver @ 0xBAADF5E0] Caller has completed
successful IRP_MJ_PNP instead of passing it down (Irp =
89942F00 ).
IRP_MJ_PNP.IRP_MN_QUERY_STOP_DEVICE
[DevObj=896EC020, FileObject=00000000, Parameters=00000000 00000000 00000000 00000000]
http://www.microsoft.com/hwdq/bc/default.asp?os=5.1.2600&major=0xc9&minor=0x22e&lang=0x9
Break, Ignore, Zap, Remove, Disable all (bizrd)?

Thank you,
Andrew

Andrey Kamchatnikov wrote:

Could someone plese help me to find a reason of this message:

***********************************************************************
* THIS VALIDATION BUG IS FATAL AND WILL CAUSE THE VERIFIER TO HALT *
* WINDOWS (BUGCHECK) WHEN THE MACHINE IS NOT UNDER A KERNEL DEBUGGER! *
***********************************************************************

WDM DRIVER ERROR: [test_driver @ 0xBAADF5E0] Caller has completed
successful IRP_MJ_PNP instead of passing it down (Irp =
89942F00 ).
IRP_MJ_PNP.IRP_MN_QUERY_STOP_DEVICE
[ DevObj=896EC020, FileObject=00000000, Parameters=00000000 00000000
00000000 00000000 ]
http://www.microsoft.com/hwdq/bc/default.asp?os=5.1.2600&major=0xc9&minor=0x22e&lang=0x9
http:
> Break, Ignore, Zap, Remove, Disable all (bizrd)?

I posted the explanation last Wednesday, the first time you sent this.
Are you saying you did not understand the explanation?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.</http:>

Hello Tim,

Thank you for your respond.

Yes, I did not understand how to read it exyactly.

----- Original Message -----
From: “Tim Roberts”
To: “Windows System Software Devs Interest List”
Sent: Monday, July 30, 2007 7:41 PM
Subject: Re: [ntdev] VALIDATION BUG IS FATAL

> Andrey Kamchatnikov wrote:
>>
>> Could someone plese help me to find a reason of this message:
>>
>>
>> * THIS VALIDATION BUG IS FATAL AND WILL CAUSE THE VERIFIER TO HALT *
>> * WINDOWS (BUGCHECK) WHEN THE MACHINE IS NOT UNDER A KERNEL DEBUGGER! *
>>

>>
>> WDM DRIVER ERROR: [test_driver @ 0xBAADF5E0] Caller has completed
>> successful IRP_MJ_PNP instead of passing it down (Irp =
>> 89942F00 ).
>> IRP_MJ_PNP.IRP_MN_QUERY_STOP_DEVICE
>> [DevObj=896EC020, FileObject=00000000, Parameters=00000000 00000000
>> 00000000 00000000]
>> http://www.microsoft.com/hwdq/bc/default.asp?os=5.1.2600&amp;major=0xc9&amp;minor=0x22e&amp;lang=0x9
>> http:
>> Break, Ignore, Zap, Remove, Disable all (bizrd)?
>
> I posted the explanation last Wednesday, the first time you sent this.
> Are you saying you did not understand the explanation?
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> 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
></http:>

Andrey Kamchatnikov wrote:

Hello Tim,

Thank you for your respond.

Yes, I did not understand how to read it exyactly.

OK, I’ll try to restate it. Plug and play requests (IRP_MJ_PNP) must be
received by ALL of the drivers in a driver stack. Every driver must be
allowed to handle them. That means that a driver is not allowed to
complete such an IRP, because that stops its progress. Instead, you
must hand it to the next driver in the stack. Sometimes you process it
first and then hand it down, and sometimes you hand it down and process
it on the way back. The documentation describes which is which.

The driver verifier makes sure that you follow this rule, and this blue
screen happened because your driver did NOT follow the rule. You got an
IRP_MN_QUERY_STOP_DEVICE request, where P&P is asking if you are able to
be stopped, and your driver completed the request without handing it to
the next driver in the stack.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.