我们将此转储发送给MS,他们将这些结果发回给我们。我试图复制这个,以便我们可以找出为什么Web应用程序在另一台服务器上崩溃。我的评论以@@@开头。非常感谢任何帮助。
0:025> !critlist @@@ *This command is no longer available so I used !locks*
CritSec at 786dd8e0. Owned by thread 25.
线程25持有关键部分(或缺少),下面是线程正在等待它。
这个锁的影响@@@ 我可以在Debug Diag Tool中重现这个
70.42%的线程被阻止
(螺纹15 30 31 32 33 34 35 36 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 134 135 138)
- 检查调用堆栈:
:025> kL
ChildEBP RetAddr
0285fcc4 7c827b69 ntdll!KiFastSystemCallRet
0285fcc8 77e6202c ntdll!ZwWaitForMultipleObjects+0xc
0285fd70 77e62fbe kernel32!WaitForMultipleObjectsEx+0x11a
0285fd8c 79f8e39a kernel32!WaitForMultipleObjects+0x18
0285fdac 79f8e48c mscorwks!SVR::WaitForFinalizerEvent+0x77
0285fdc0 79e9caff mscorwks!SVR::GCHeap::FinalizerThreadWorker+0x49
0285fdd4 79e9ca9b mscorwks!ManagedThreadBase_DispatchInner+0x4f
0285fe68 79e9c9c1 mscorwks!ManagedThreadBase_DispatchMiddle+0xb1
0285fea4 79f20508 mscorwks!ManagedThreadBase_DispatchOuter+0x6d
0285fecc 79f20519 mscorwks!ManagedThreadBase_NoADTransition+0x32
0285fedc 79f220eb mscorwks!ManagedThreadBase::FinalizerBase+0xd
0285ff14 79f0e255 mscorwks!SVR::GCHeap::FinalizerThreadStart+0xbb
0285ffb8 77e6482f mscorwks!Thread::intermediateThreadProc+0x49
0285ffec 00000000 kernel32!BaseThreadStart+0x34
- 重建堆栈:@@@我无法找到如何重建堆栈以生成下面的结果。我需要知道哪个DLL导致锁定。在此示例中为secSSo.dll。一旦我发现我可以使用命令lmvm来找到线程的所有者。
0285dc00 00000000
0285dc04 000b7a80
0285dc08 23000003*** ERROR: Symbol file could not be found. Defaulted to export symbols
for secSSO.dll -
secSSO!SSOStartLogin+0x8d6f4
0285dc0c 0285dc74
0:025> lmvm secSSO
start end module name
22f70000 23036000 secSSO (export symbols) secSSO.dll
Loaded symbol image file: secSSO.dll
Image path: C:\Program Files\Business Objects\Common\2.8\bin\secSSO.dll
Image name: secSSO.dll
Timestamp: Sun Oct 14 01:39:17 2007 (4711AB85)
CheckSum: 000C83D4
ImageSize: 000C6000
File version: 10.5.0.1943
Product version: 10.5.0.1943
File flags: 8 (Mask 3F) Private
File OS: 4 Unknown Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Business Objects
ProductName: Crystal Enterprise
InternalName: Crystal Enterprise
OriginalFilename: Crystal Enterprise
ProductVersion: 10.5.0.1943
FileVersion: 10.5.0.1943
FileDescription: Crystal Enterprise
LegalCopyright: Copyright (C)1995-2007 Business Objects
LegalTrademarks: Crystal Enterprise (tm) is a trademark of Business Objects
- 所以要么线程25已经泄漏了Criticalsection,要么什么都不做,其余的线程只是在等待它。