Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

Redux: Windbg/1394 as slow as a aged dog on barbiturates.

rod_widdowsonrod_widdowson Member - All Emails Posts: 971
This bites me every 3 months or so.

It can take between 5 and 30 minutes to return to the Windbg> prompt (particularly after a crash)
- My symbol path is entirely local (cache*;g:\path)
- Debugging (CTRL/ALT-V shows no traffic)
- Debug->Resolve unqualified symbols: unticked.

Last time this happened I just gave up and used VMs (which can be less than satisfactory, byt kdvm is pretty cool). Then I bought a new external 1394 and things became much better. Suddenly last night things started being dead slow again.

This does *not* happen using KDVM debugging with everything else (for instance the symbol cache) being the same.

Any suggestions would be more than welcome.

A couple of busy stacks are show below.

dbghelp!DBI1::fReadSymRec
dbghelp!GSI1::NextSym
dbghelp!CAllPubNameTrav::next
dbghelp!CDiaEnumTraversal >::Next
dbghelp!diaGetGlobals
dbghelp!diaGetSymbols
dbghelp!diaEnumSymbols
dbghelp!modEnumSymbols
dbghelp!ModLoop
dbghelp!EnumSymbols
dbghelp!SymEnumSymbolsW
dbgeng!EnumSymbolInfoRaw
dbgeng!GetOffsetFromSym
dbgeng!GetSimpleSymOffset
dbgeng!TargetInfo::GetUnloadedModuleMemoryInfo
dbgeng!NtUserUnloadedModuleInfo::Initialize
dbgeng!ProcessInfo::AddUnloadedImages
dbgeng!ProcessInfo::AddAllTargetUnloadedImages
dbgeng!ProcModIter::Start
dbgeng!DebugClient::GetModuleNames
ext!DebugFailureAnalysis::BuildModuleAliases
ext!BcFillAnalysis
ext!BcAnalyze
ext!AnalyzeBugCheck
ext!analyze
dbgeng!ExtensionInfo::CallA
dbgeng!ExtensionInfo::Call
dbgeng!ExtensionInfo::CallAny
dbgeng!CallBugCheckExtension
dbgeng!HandleBPWithStatus
dbgeng!PrepareForCalls
dbgeng!RawWaitForEvent
dbgeng!DebugClient::WaitForEvent
windbg!EngineLoop
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart


msvcrt!DName::operator+=
msvcrt!DName::operator+
msvcrt!UnDecorator::getScope
msvcrt!UnDecorator::getDecoratedName
msvcrt!UnDecorator::operator char * __ptr64
msvcrt!_unDName
dbghelp!UndecorateWrapper::match
dbghelp!CAllPubNameTrav::next
dbghelp!CDiaEnumTraversal >::Next
dbghelp!diaGetGlobals
dbghelp!diaGetSymbols
dbghelp!diaEnumSymbols
dbghelp!modEnumSymbols
dbghelp!ModLoop
dbghelp!EnumSymbols
dbghelp!SymEnumSymbolsW
dbgeng!FindTypeInfoInMod
dbgeng!TypeInfoFound
dbgeng!TypedData::FindType
dbgeng!CppEvalExpression::CollectTypeOrSymbolName
dbgeng!CppEvalExpression::Term
dbgeng!CppEvalExpression::Postfix
dbgeng!CppEvalExpression::Unary
dbgeng!CppEvalExpression::Cast
dbgeng!CppEvalExpression::ClassMemberRef
dbgeng!CppEvalExpression::Multiplicative
dbgeng!CppEvalExpression::Additive
dbgeng!CppEvalExpression::Shift
dbgeng!CppEvalExpression::Relational
dbgeng!CppEvalExpression::Equality
dbgeng!CppEvalExpression::BitwiseAnd
dbgeng!CppEvalExpression::BitwiseXor
dbgeng!CppEvalExpression::BitwiseOr
dbgeng!CppEvalExpression::LogicalAnd
dbgeng!CppEvalExpression::LogicalOr
dbgeng!CppEvalExpression::Conditional
dbgeng!CppEvalExpression::Assignment
dbgeng!CppEvalExpression::Expression
dbgeng!CppEvalExpression::Evaluate
dbgeng!EvalExpression::EvalCurrent
dbgeng!EvalCurrentAndOutput
dbgeng!EvaluateTypedExpr
dbgeng!ProcessCommands
dbgeng!ProcessCommandsAndCatch
dbgeng!Execute
dbgeng!DebugClient::ExecuteWide
windbg!EvalToStateBuffer::ReadState
windbg!StateBuffer::Update
windbg!EvalToBuffer
windbg!ProcessCommand
windbg!ProcessEngineCommands
windbg!EngineLoop
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart

Comments

  • rod_widdowsonrod_widdowson Member - All Emails Posts: 971
    I should add the windbg is pegging the cpu it is running on. Also the "!sym
    noisy trace” shows lines of this type which I am not sure I have seen
    before:

    DBGHELP: XYZ.sys not found in transform

    I am not sure that this is relevant since the traces come in bursts with
    huge delays between.

    Note also this oddity:

    Loading symbols for fffff880`019a7000 mup.sys -> mup.sys
    DBGHELP: mup - public symbols
    C:\WinDDK\7600.16385.1\Debuggers\sym\mup.pdb\B27020B169714E07BDDF87C73CBFE8562\mup.pdb
    [snip]
    DBGHELP: C:\WinDDK\7600.16385.1\Debuggers\mup.sys - file not found
    DBGHELP: mup.sys not found in transform
    DBGHELP:
    C:\WinDDK\7600.16385.1\Debuggers\sym\mup.sys\4A5BC20112000\mup.sys – OK

    Why the mutiple load? I see several of these...
  • OSR_Community_UserOSR_Community_User Member Posts: 110,218
    Don't know if this will help but has helped me in the past.

    Make sure your PATH evnironment variable has no 'dead end' paths.
    Move any directory that Windbg uses to the front of the PATH.

    Larry C
  • rod_widdowsonrod_widdowson Member - All Emails Posts: 971
    (For completeness).

    And suddenly it is fast again with no change to configuration.

    Thanks for the input, I’ll keep all these posts against the next time things go wrong...

    Rod

    "Rod Widdowson" wrote in message news:xxxxx@windbg...
    This bites me every 3 months or so.

    It can take between 5 and 30 minutes to return to the Windbg> prompt (particularly after a crash)
    - My symbol path is entirely local (cache*;g:\path)
    - Debugging (CTRL/ALT-V shows no traffic)
    - Debug->Resolve unqualified symbols: unticked.

    Last time this happened I just gave up and used VMs (which can be less than satisfactory, byt kdvm is pretty cool). Then I bought a new external 1394 and things became much better. Suddenly last night things started being dead slow again.

    This does *not* happen using KDVM debugging with everything else (for instance the symbol cache) being the same.

    Any suggestions would be more than welcome.

    A couple of busy stacks are show below.

    dbghelp!DBI1::fReadSymRec
    dbghelp!GSI1::NextSym
    dbghelp!CAllPubNameTrav::next
    dbghelp!CDiaEnumTraversal >::Next
    dbghelp!diaGetGlobals
    dbghelp!diaGetSymbols
    dbghelp!diaEnumSymbols
    dbghelp!modEnumSymbols
    dbghelp!ModLoop
    dbghelp!EnumSymbols
    dbghelp!SymEnumSymbolsW
    dbgeng!EnumSymbolInfoRaw
    dbgeng!GetOffsetFromSym
    dbgeng!GetSimpleSymOffset
    dbgeng!TargetInfo::GetUnloadedModuleMemoryInfo
    dbgeng!NtUserUnloadedModuleInfo::Initialize
    dbgeng!ProcessInfo::AddUnloadedImages
    dbgeng!ProcessInfo::AddAllTargetUnloadedImages
    dbgeng!ProcModIter::Start
    dbgeng!DebugClient::GetModuleNames
    ext!DebugFailureAnalysis::BuildModuleAliases
    ext!BcFillAnalysis
    ext!BcAnalyze
    ext!AnalyzeBugCheck
    ext!analyze
    dbgeng!ExtensionInfo::CallA
    dbgeng!ExtensionInfo::Call
    dbgeng!ExtensionInfo::CallAny
    dbgeng!CallBugCheckExtension
    dbgeng!HandleBPWithStatus
    dbgeng!PrepareForCalls
    dbgeng!RawWaitForEvent
    dbgeng!DebugClient::WaitForEvent
    windbg!EngineLoop
    kernel32!BaseThreadInitThunk
    ntdll!RtlUserThreadStart


    msvcrt!DName::operator+=
    msvcrt!DName::operator+
    msvcrt!UnDecorator::getScope
    msvcrt!UnDecorator::getDecoratedName
    msvcrt!UnDecorator::operator char * __ptr64
    msvcrt!_unDName
    dbghelp!UndecorateWrapper::match
    dbghelp!CAllPubNameTrav::next
    dbghelp!CDiaEnumTraversal >::Next
    dbghelp!diaGetGlobals
    dbghelp!diaGetSymbols
    dbghelp!diaEnumSymbols
    dbghelp!modEnumSymbols
    dbghelp!ModLoop
    dbghelp!EnumSymbols
    dbghelp!SymEnumSymbolsW
    dbgeng!FindTypeInfoInMod
    dbgeng!TypeInfoFound
    dbgeng!TypedData::FindType
    dbgeng!CppEvalExpression::CollectTypeOrSymbolName
    dbgeng!CppEvalExpression::Term
    dbgeng!CppEvalExpression::Postfix
    dbgeng!CppEvalExpression::Unary
    dbgeng!CppEvalExpression::Cast
    dbgeng!CppEvalExpression::ClassMemberRef
    dbgeng!CppEvalExpression::Multiplicative
    dbgeng!CppEvalExpression::Additive
    dbgeng!CppEvalExpression::Shift
    dbgeng!CppEvalExpression::Relational
    dbgeng!CppEvalExpression::Equality
    dbgeng!CppEvalExpression::BitwiseAnd
    dbgeng!CppEvalExpression::BitwiseXor
    dbgeng!CppEvalExpression::BitwiseOr
    dbgeng!CppEvalExpression::LogicalAnd
    dbgeng!CppEvalExpression::LogicalOr
    dbgeng!CppEvalExpression::Conditional
    dbgeng!CppEvalExpression::Assignment
    dbgeng!CppEvalExpression::Expression
    dbgeng!CppEvalExpression::Evaluate
    dbgeng!EvalExpression::EvalCurrent
    dbgeng!EvalCurrentAndOutput
    dbgeng!EvaluateTypedExpr
    dbgeng!ProcessCommands
    dbgeng!ProcessCommandsAndCatch
    dbgeng!Execute
    dbgeng!DebugClient::ExecuteWide
    windbg!EvalToStateBuffer::ReadState
    windbg!StateBuffer::Update
    windbg!EvalToBuffer
    windbg!ProcessCommand
    windbg!ProcessEngineCommands
    windbg!EngineLoop
    kernel32!BaseThreadInitThunk
    ntdll!RtlUserThreadStart
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!