Firewire problems, XP Pro, Windbg 6.0.0017 (LONG POST)

I posted this yesterday to microsoft.public.windbg, but with the recent
malfunctions with Microsoft’s news servers, it doesn’t appear to have gotten
anywhere. Thought I’d try it with everyone here in the meantime. Sorry for the
length (most of it is a WinDbg log).

Both host and target are running XP Professional with all the critical
and recommended fixes from Windows Update applied. Windbg over serial
works perfectly.

Since moving to 6.0.0017, I have been having problems running a 1394
connection. The problem is trouble getting a connection to the target.
A bit less than half the time, things work fine.

The rest of the time is split between being permanently stuck at the
“Waiting to reconnect…” message and getting an obviously bad
connection. Once this happens, the target is hosed and must be
rebooted. I’ve pasted in the command window output after having done
three things:

  1. Press to connect to target.
    You can see goofy errors like
    “KdReadVirtual: Asked for 12, got 128.”

    2. Press ‘g’ to run target, after which target tosses bugcheck D1.

    3. ‘!analyze -v’ after the bugcheck to maybe shed more light on this
    problem.

    Sometimes, I can fix this by going into Device Manager on the host,
    removing the 1394 debugging devices, then removing the 1394 adapter
    itself, and letting it all reinstall. Over the past couple days,
    though, things have started becoming more unstable. I’ve already tried
    uninstalling and reinstalling WinDbg on the host. Is there something to
    mess with on the target?

    FWIW, both machines are running generic PCI-to-Firewire adapters using an
    “NEC FireWarden” OHCI controller.

    Any thoughts or solutions would be appreciated…

    Best Regards,

    Chris Myers
    Senior Project Engineer
    Quatech, Inc.
    (remove ‘x’ from before and after ‘quatech’ for direct email)


    COMMAND WINDOW OUTPUT BELOW


    Microsoft (R) Windows Debugger Version 6.0.0017.0
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using 1394 for debugging
    Opened \.\DBG1394_INSTANCE10
    Waiting to reconnect…
    Connected to Windows XP 2600 x86 compatible target, ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is:
    srvg:\websymhttp://msdl.microsoft.com/download/symbols;g:\xpddk\2600\src\kernel\mystuff
    Executable search path is: g:\xpddk\2600\src\kernel\mystuff
    KdReadVirtual: Asked for 12, got 128
    KdReadVirtual: Asked for 2408, got 2420
    KdReadVirtual: Asked for 1688, got 3944
    KdReadVirtual: Asked for 2408, got 3944
    KdReadVirtual: Asked for 1460, got 3868
    KdReadVirtual: Asked for 100, got 1460
    KdReadVirtual: Asked for 52, got 3944
    KdReadVirtual: Asked for 100, got 3944
    KdReadVirtual: Asked for 52, got 3944
    KdReadVirtual: Asked for 100, got 3944
    KdReadVirtual: Asked for 52, got 3944
    KdReadVirtual: Asked for 100, got 3944
    KdReadVirtual: Asked for 52, got 3944
    KdReadVirtual: Asked for 1855, got 1907
    KdReadVirtual: Asked for 128, got 1855
    ERROR: Symbol file could not be found. Defaulted to export symbols
    for ntoskrnl.exe -
    ReadMemoryError 8000ffff at f0000005
    ReadMemoryError 8000ffff at f0000901
    Windows XP Kernel Version 2600 (Service Pack 119¨.30033) UP Free x86
    compatible
    Product: WinNt, suite: TerminalServer SingleUserTS
    Built by: 2600.xpclnt_qfe.010827-1803
    Kernel base = 0x804d0000 PsLoadedModuleList = 0x8053e028
    Debug session time: Tue Jun 25 08:28:28 2002
    KdReadVirtual: Asked for 12, got 128
    System Uptime: 47216 days 23:31:56.872
    Break instruction exception - code 80000003 (first chance)



    You are seeing this message because you pressed either

    CTRL+C (if you run kd.exe) or,

    CTRL+BREAK (if you run WinDBG),

    on your debugger machine’s keyboard.



    THIS IS NOT A BUG OR A SYSTEM CRASH



    If you did not intend to break into the debugger, press the “g” key,
    then
    press the “Enter” key now. This message might immediately reappear.
    If it
    does, press “g” and “Enter” again.




    nt!Ordinal703+4:
    80515aa0 cc int 3
    ReadMemoryError 8000ffff at 8053c924
    Unable to read KTHREAD address 8053c924
    ReadMemoryError 8000ffff at 00000000
    kd> g
    KdReadVirtual: Asked for 40, got 128
    ReadMemoryError 8000ffff at 8053c924
    Unable to read KTHREAD address 8053c924
    ReadMemoryError 8000ffff at 0000daf3

    Fatal System Error: 0x000000d1
    (0x00005AA0,0x0000001C,0x00000000,0x00005AA0)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.




    Bugcheck Analysis





    Use !analyze -v to get detailed debugging information.

    BugCheck D1, {5aa0, 1c, 0, 5aa0}

    *****Kernel symbols are WRONG. Please fix symbols to do analysis.

    Probably caused by : ntoskrnl.exe ( nt!Ordinal703+4 )

    Followup: MachineOwner
    ---------

    0008:5aa0 ?? ???
    kd> !analyze -v



    Bugcheck Analysis



    ******

    DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
    An attempt was made to access a pagable (or completely invalid) address
    at an
    interrupt request level (IRQL) that is too high. This is usually
    caused by drivers using improper addresses.
    If kernel debugger is available get stack backtrace.
    Arguments:
    Arg1: 00005aa0, memory referenced
    Arg2: 0000001c, IRQL
    Arg3: 00000000, value 0 = read operation, 1 = write operation
    Arg4: 00005aa0, address which referenced memory

    Debugging Details:
    ------------------

    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    READ_ADDRESS: unable to get nt!MmPoolCodeEnd
    unable to get nt!MmSpecialPoolEnd
    unable to get nt!MmPagedPoolEnd
    unable to get nt!MmNonPagedPoolEnd
    unable to get nt!MmNonPagedPoolStart
    unable to get nt!MmSpecialPoolStart
    unable to get nt!MmPagedPoolStart
    unable to get nt!MiSessionPoolStart
    unable to get nt!MiSessionPoolEnd
    unable to get nt!MmNonPagedPoolExpansionStart
    unable to get nt!MmPoolCodeStart
    00005aa0

    CURRENT_IRQL: 1c

    FAULTING_IP:
    +5aa0
    0008:5aa0 ?? ???

    DEFAULT_BUCKET_ID: DRIVER_FAULT

    BUGCHECK_STR: 0xD1

    LAST_CONTROL_TRANSFER: from 804ef060 to 80515aa0

    STACK_TEXT:
    WARNING: Stack unwind information not available. Following frames may be
    wrong.
    80533c5c 804ef060 00000003 00005aa0 00005aa0 nt!Ordinal703+0x4
    80534024 804ef4ff 000000d1 00005aa0 0000001c nt!Ordinal580+0x616
    80534044 8052b165 0000000a 00005aa0 0000001c nt!Ordinal1111+0x19
    80534060 00000000 80530001 805340bf 805340ac nt!Ordinal655+0x257d

    FAILED_INSTRUCTION_ADDRESS:
    +5aa0
    0008:5aa0 ?? ???

    FOLLOWUP_IP:
    nt!Ordinal703+4
    0008:5aa0 ?? ???

    FOLLOWUP_NAME: MachineOwner

    SYMBOL_NAME: nt!Ordinal703+4

    MODULE_NAME: nt

    IMAGE_NAME: ntoskrnl.exe

    DEBUG_FLR_IMAGE_TIMESTAMP: 3c7ac994

    STACK_COMMAND: kb

    BUCKET_ID: WRONG_SYMBOLS

    Followup: MachineOwner