Microsoft KB Archive/322055

= FIX: Access Violation in Client IDispatch Call Frame =

Article ID: 322055

Article Last Modified on 6/5/2003

-

APPLIES TO

 Microsoft COM+ 1.0, when used with:  Microsoft Windows 2000 Service Pack 1

 Microsoft Windows 2000 Service Pack 2 

-



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.

<div class="resolution_section">

RESOLUTION
To 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

<div class="status_section">

STATUS
Microsoft 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.

Additional query words: kbWin2000preSP3COMRollup18Fix

Keywords: kbbug kbfix kbwin2000presp3fix kbwin2000sp3fix KB322055

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.