> occur. The only thing I have is a screenshort of suspicious thread stack
if you want.
Sure, wouldn’t hurt to look at it, although I’m not sure if it will help
identify the cause.
Based on your description of the problem, it sounds like a request (either a
PNP request or an IO request which has been canceled by the issuer) was
stuck in the host process for a really long time. By default, the UMDF waits
for a minute before it times out waiting for that request to complete. When
the timeout occurs, it terminates the host process so that progress can be
made. If you are able to reproduce it in future, the best way to debug this
would be to configure UMDF to break into the debugger when the timeout
happens (http://msdn.microsoft.com/en-us/library/bb743209.aspx). Then, use
the !umirps debugger extension to see if any requests are still pending in
the host process and try to determine why.
If you need more detailed debugging instructions, you can look at the video
tutorials at -
http://www.microsoft.com/whdc/devtools/debugging/umdftraining.mspx
Part 4 of the tutorial has a piece on debugging these timeouts. Once the
video is launched, you can click “Non-responsive host” in the menu on the
left-hand side to jump directly to this piece.
“Michal Vodicka” wrote in message
news:xxxxx@ntdev…
>> -----Original Message-----
>> From: xxxxx@lists.osr.com
>> [mailto:xxxxx@lists.osr.com] On Behalf Of Abhishek R
>> Sent: Friday, June 26, 2009 8:06 PM
>> To: Windows System Software Devs Interest List
>> Subject: Re:[ntdev] Using Windows vista driver on Windows 7
>>
>> "The DllEntry thread attach / detach is probably from the calls to
>> toolhelp32, used to enumerate drivers loaded in each host process. A
>> background thread probes to keep the UI up to date. The Win7
>> version sleeps
>> after each probe, but it is still fairly frequent, and since
>> all we’re doing
>> is getting names of binaries loaded in the process, it will
>> attach and
>> detach fairly quickly. "
>
> Thanks for the explanation. Yes, this is what I see. However, I’d expect
> it ends after all binaries are enumerated and it is not the case. It
> lasts until the tool is stoppped. Not a serious problem, though. Just an
> annoyance and surprise; seeing something like this in traces doesn’t
> create a confidence to the tool.
>
>> Regarding the one-minute delay, is it possible that you had
>> configured UMDF
>> to wait for one-minute during startup in order to allow you
>> to connect a
>> debugger? If so, enabling traces would cause WDF Verifier to stop and
>> restart the UMDF driver manager service, which results in your device
>> getting stopped and restarted as well. If you’re seeing a
>> one-minute delay
>> in this situation, it would be during the restart when UMDF
>> is waiting for
>> the debugger to connect. This is a possible explanation, but
>> I’m not sure if
>> it exactly matches what you observed.
>
> I don’t think so. The delay occured always after device removal. The
> exiting instance of WUDF host process was blocked for one minute.
> Moreover, it blocked whole PnP stack for this time. Device Manager scan
> for new devices, new device attached. There was a suspicious thread in
> blocked process having ControlTraceW on the stack. Problem occured
> always without WDF verifier running and I’m sure I checked if there
> isn’t configured delay for debugger attach. I even checked it in the
> registry because it was obvious candidate.
>
> Unfortunately, I can’t reproduce it again. I restored the installation
> (we weren’t sure it isn’t a problem in Win7 build) and problem
> disappeared. I tried to play with WDF verifier again but it didn’t
> occur. The only thing I have is a screenshort of suspicious thread stack
> if you want.
>
> Best regards,
>
> Michal Vodicka
> UPEK, Inc.
> [xxxxx@upek.com, http://www.upek.com]
>
>