Vista WHQL "WDF Logo Tests - Final" hangs

Discussion in 'Windows Vista Drivers' started by dhmot, Aug 25, 2009.

  1. dhmot

    dhmot Guest

    All,

    I'm running the WHQL 1.4 tests on a virtual NDIS 6 driver for x86 Vista.
    All tests pass except for "WDF Logo Tests - Final", which hangs. The test is
    supposed to take a couple of minutes, but I end up resetting the PC under
    test after a couple of hours. The PC seems to be alive: the screen saver is
    working and the PC responds to pings. However, the PC does not recognize a
    USB keyboard plugged in to try to diagnose the problem, cancelling the test
    does not have any effect, and I am unable to access it via Remote Desktop.
    The command shell (before the screen saver kicked in) showed a series of
    disables/enables of the device driver. I see occassional hard driver
    activity.

    DTM Studio shows that five "Execute/Regular" tasks completed successfully.
    There are no tasks listed which show a "Start Time" but no "End Time", i.e.
    it seems there are no pending tasks even though there are eight more tasks to
    execute.

    What's the best way to diagnose this problem?

    Thanks,
    Michael
     
    dhmot, Aug 25, 2009
    #1
    1. Advertisements

  2. I am guessing a pnp remove or surprise remove irp is stuck. your best bet is
    to break into the kernel debugger and run

    !locks
    to see who owns the pnp lock and then dump the owning thread (!thread xxx)

    and then run
    !stacks 0 [you driver name, no .sys]
    to see if you can find your driver blocking in any threads

    d
     
    Doron Holan [MSFT], Aug 26, 2009
    #2
    1. Advertisements

  3. Hi Michael,

    Can you please provide the kernel dump? After enabling kernel debugger on
    your machine you can manually break in when the hang occurs and issue the
    ..crash command. This would create the kernel dump, then please send
    %systemroot%\Memory.dmp .

    Thanks,
    Neslihan
     
    Neslihan Bulut [MSFT], Aug 26, 2009
    #3
  4. dhmot

    dhmot Guest

    Neslihan,

    How would I go about "sending" a kernel dump via this forum? I see no way
    to attach a file. UUENCODE?

    Thanks,
    Michael
     
    dhmot, Aug 31, 2009
    #4
  5. dhmot

    dhmot Guest

    Doron,

    When I attached the debugger, the faliure was obviously a NULL pointer
    within my driver during one of the disables. I don't understand why a BSOD
    did not occur. Could it have anything to do with the machine? It's a Dell
    Precision 380, which was XP approved by not Vista approved.

    Thanks,
    Michael

     
    dhmot, Aug 31, 2009
    #5
  6. Michael,
    With WDF Logo Test, WDF DDIs with NTSTATUS return codes are fault injected
    to return failure. Can you please check that driver doesn't assume success
    from the DDI without checking the return codes? It should have a pattern as
    in the below example;

    status = WdfFdoInitQueryProperty(DeviceInit,

    DevicePropertyEnumeratorName,

    sizeof(enumeratorName),

    enumeratorName,

    &returnSize);

    if(NT_SUCCESS(status)){
    // Continue for success
    }

    Having a NULL pointer sounds like, there might be a success assumption from
    a DDI call previously in the code, for which there was a fault injection with
    Wdf Logo Testing. When it comes to not seeing a BC, I would wonder how the
    pointer gets used. Is it passed to a DDI? Or derefed?

    To provide a crash dump, we would need to use the Support Channel.

    Thank you,
    Neslihan

     
    Neslihan Bulut [MSFT], Sep 1, 2009
    #6
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.