FIX: Access Violation in Client IDispatch Call Frame (322055)
The information in this article applies to:
- Microsoft COM+ 1.0, when used with:
- the operating system: Microsoft Windows 2000 SP1
- the operating system: Microsoft Windows 2000 SP2
This article was previously published under Q322055 SYMPTOMS
After you run a stress test on Active Server Pages (ASP) script for hours in low isolation mode with PageHeap attached, the following call stack is generated:
ChildEBP RetAddr
0a3de3b0 77fb4007 ntdll!RtlpDphIsNormalHeapBlock+0x86
0a3de3e0 77fb2cb1 ntdll!RtlpDphNormalHeapFree+0x39
0a3de404 77fb5653 ntdll!RtlpDebugPageHeapFree+0xa6
0a3de47c 77fa760a ntdll!RtlDebugFreeHeap+0x203
0a3de51c 77fcba9e ntdll!RtlFreeHeapSlowly+0x4d
0a3de5c0 77a51dca ntdll!RtlFreeHeap+0x53
0a3de5d0 77a51df1 ole32!CRetailMalloc_Free+0x19
0a3de5dc 0995ef72 ole32!CoTaskMemFree+0xf
0a3de5fc 099614a5 TxfAux!OAUTIL__VariantClear+0x152
0a3de6fc 77ad3a3e TxfAux!DISPATCH_CLIENT_FRAME__Free+0x255
0a3de7a8 77ad3c29 ole32!CCtxChnl__SendReceive2+0x2f8
0a3de8f4 09962a0f ole32!CCtxChnl__OnCall+0x1e8
0a3de914 09962923 TxfAux!LEGACY_INTERCEPTOR__CallIndirect+0xdf
0a3de930 6a9f6372 TxfAux!LEGACY_INTERCEPTOR__Invoke+0x23
0a3de9e8 6aad9258 MSVBVM60!_vbaFreeObjList+0x362
CAUSE
In this call stack, the client-side IDispatch frame tries to free memory that it does not own. This problem can occur when a Component Object Model (COM) policy cancels a call because of the resource strain that the stress test causes. This causes COM to request that the client call frame free itself. When the client call frame tries to free memory, the call frame assumes that it owns the memory that is referenced by byref variants that are passed in from the IDispatch::Invoke method. However, because the client call frame does not own that memory, you receive an access violation.
RESOLUTIONTo resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.
Modification Type: | Major | Last Reviewed: | 6/5/2003 |
---|
Keywords: | kbbug kbfix kbWin2000PreSP3Fix kbWin2000sp3fix KB322055 |
---|
|