我正在使用Windows服务器2008服务器x64和IIS 7处理来自asp.net页面逻辑的COM对象。通常,经过几个小时的工作,用户无法访问该站点,因为它被阻止,直到iisreset没有完成。
以下是DebugDiag工具的崩溃/挂起报告:
在w3wp.dmp中检测到线程41拥有的0x053901f8处可能阻塞或泄漏的关键部分 这个锁的影响 47,13%的线程被阻止(大约20个线程)
以下功能正在尝试进入此关键部分
ntdll!RtlpAllocateHeap+18c6
ntdll!RtlpFreeHeap+1334
及时管理com的互操作对象。 堆栈跟踪如下:
ntdll!NtWaitForSingleObject+a
ntdll!RtlpWaitOnCriticalSection+ea
ntdll!RtlEnterCriticalSection+f4
ntdll!RtlpAllocateHeap+18c6
ntdll!RtlAllocateHeap+151
msvcr100!malloc+5b
或
ntdll!NtWaitForSingleObject+a
ntdll!RtlpWaitOnCriticalSection+ea
ntdll!RtlEnterCriticalSection+f4
ntdll!RtlpFreeHeap+1334
ntdll!RtlFreeHeap+1a2
kernel32!HeapFree+a
msvcr100!free+1c
我猜,管理记忆中存在腐败现象。站点在VMware Server下的虚拟机上工作。
之前有没有人有类似的经历?
非常感谢!