How long an IRP is in pending state

Hi all,
I would like to find for how long an (suspected) IRP from “!IRPFIND” list,
is in pending state. I have only a dump file (not live system) and I would
like to identify a device causing a system to stall, by not completing an
IRP.
I’ve already read the WinDbg:6.1.0009.0 “Debugging Pending IRPs”
documentation. Nice description, but (for me) unfortunately only for “live”
system.
I guess (NO description in WinDbg documentation), that “!THREAD” field
“WaitTime (seconds) xxxxxx” is an cumulative sum of thread waits and so not
usable for my purpose.

Do I have any chance?
WBR Primoz

Actually, the “WaitTime (seconds)” field prnits out the value of KeTickCount
at the time the thread last went to sleep. Unfortunately it’s in decimal
and, as I said, is in ticks, but it’s fairly easy to convert the delta
between the current KeTickCount in the dump and the threads WaitTime to
sensible time (multiply by KeTimeIncrement to get 100ns units)

/simgr

-----Original Message-----
From: Primoz Beltram [mailto:xxxxx@hermes.si]
Sent: Wednesday, October 16, 2002 11:25 AM
To: Kernel Debugging Interest List
Subject: [windbg] How long an IRP is in pending state

Hi all,
I would like to find for how long an (suspected) IRP from “!IRPFIND” list,
is in pending state. I have only a dump file (not live system) and I would
like to identify a device causing a system to stall, by not completing an
IRP.

I’ve already read the WinDbg:6.1.0009.0 “Debugging Pending IRPs”
documentation. Nice description, but (for me) unfortunately only for “live”
system.

I guess (NO description in WinDbg documentation), that “!THREAD” field
“WaitTime (seconds) xxxxxx” is an cumulative sum of thread waits and so not
usable for my purpose.

Do I have any chance?
WBR Primoz


You are currently subscribed to windbg as: xxxxx@stratus.com
To unsubscribe send a blank email to %%email.unsub%%

How long an IRP is in pending stateI believe that depends upon the owning thread. In my experience, an IRP that has been marked pending will not time out unless that originating thread terminates. Then you have a 5 minute delay until the system presents a “bitch box” about resource not being freed ikn a timely manner. But, the fact that the system is hanging on you indicates that you have not set either a cancel routine or a completion routine to complete the IRP in CleanUp or when the thread terminates.

If WinDbg is running, I believe in XP and above you now get a breakpoint


Gary G. Little
Have Computer, Will Travel …
909-698-3191
909-551-2105.

“Primoz Beltram” wrote in message news:xxxxx@windbg…
Hi all,
I would like to find for how long an (suspected) IRP from “!IRPFIND” list, is in pending state. I have only a dump file (not live system) and I would like to identify a device causing a system to stall, by not completing an IRP.

I’ve already read the WinDbg:6.1.0009.0 “Debugging Pending IRPs” documentation. Nice description, but (for me) unfortunately only for “live” system.

I guess (NO description in WinDbg documentation), that “!THREAD” field “WaitTime (seconds) xxxxxx” is an cumulative sum of thread waits and so not usable for my purpose.

Do I have any chance?
WBR Primoz

Thank you! This is a valuable information for me, which will help me to
determine the timeout (at least relative) that the thread is waiting for a
suspected pending IRP (by the way: sent to RAID disks) to complete. I can’t
do live debug, since I got a “manually initiated” dump file from customers
stalled system, so I must get as much as possible out of “pathological
analysis” :-).

I have checked again in WinDbg:6.1.0009.0 documentation and for the “!LOCKS”
there is a different (corrected) description of “WaitTime (ticks)”, while
else where the “WaitTime (seconds)” is still used, also the “!THREAD”,
“!PROCESS”, “!LOCKS -v”,… commands are still dumping “WaitTime (seconds)”.
Hope someone from Microsoft WinDbg team will read this lines.
WBR Primoz

-----Original Message-----
From: Graham, Simon [mailto:xxxxx@stratus.com]
Sent: Wednesday, October 16, 2002 8:11 PM
To: Kernel Debugging Interest List
Subject: [windbg] RE: How long an IRP is in pending state

Actually, the “WaitTime (seconds)” field prnits out the value of KeTickCount
at the time the thread last went to sleep. Unfortunately it’s in decimal
and, as I said, is in ticks, but it’s fairly easy to convert the delta
between the current KeTickCount in the dump and the threads WaitTime to
sensible time (multiply by KeTimeIncrement to get 100ns units)

/simgr

-----Original Message-----
From: Primoz Beltram [mailto:xxxxx@hermes.si]
Sent: Wednesday, October 16, 2002 11:25 AM
To: Kernel Debugging Interest List
Subject: [windbg] How long an IRP is in pending state

Hi all,
I would like to find for how long an (suspected) IRP from “!IRPFIND” list,
is in pending state. I have only a dump file (not live system) and I would
like to identify a device causing a system to stall, by not completing an
IRP.

I’ve already read the WinDbg:6.1.0009.0 “Debugging Pending IRPs”
documentation. Nice description, but (for me) unfortunately only for “live”
system.

I guess (NO description in WinDbg documentation), that “!THREAD” field
“WaitTime (seconds) xxxxxx” is an cumulative sum of thread waits and so not
usable for my purpose.

Do I have any chance?
WBR Primoz


You are currently subscribed to windbg as: xxxxx@stratus.com
To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to windbg as: xxxxx@hermes.si
To unsubscribe send a blank email to %%email.unsub%%