Microsoft KB Archive/266182

= Repository Engine Is Not Released from Memory When DTC Is in Use =

Article ID: 266182

Article Last Modified on 2/28/2007

-

APPLIES TO


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition

-



This article was previously published under Q266182



SYMPTOMS
After all references have been released, the Repository engine may not be released from memory. Note that this only occurs when DTC transactions are used. After this occurs several times, your computer either runs out of memory or runs out of database connections. The error message you receive depends on how many objects you &quot;touch&quot; and how much memory is allocated for the repository cache.



CAUSE
The problem can occur if DTC still has a reference to the Repository engine. When this occurs, if the Repository engine is instantiated and released within the same process multiple times, multiple copies of the Repository engine remain in memory. Note that this problem is very common when you are using the Repository engine as part of an MTS solution. Because the instance is not released, the connection to the database is not released and the connection cannot be used again. DTC still has a reference to the Repository because:
 * 1) The Repository engine receives the connection point for IID_ITransactionOutcomeEvents, and calls Advise.
 * 2) If the Repository engine calls Unadvise, it does not receive all of the committed or aborted events, and the execution is incorrect.
 * 3) If the Repository engine does not call Unadvise, the Repository is not released.

NOTE: In step 2, the counter is decremented too rapidly, and this results in a loss of events. In step 3, the counter never returns to zero and the Repository is not released.



RESOLUTION
To resolve this problem, obtain and install Windows 2000 Service Pack 1 (SP1) from the following Microsoft Web site:

http://windowsupdate.microsoft.com/



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Keywords: kbbug kbenv kberrmsg kbpending KB266182

-

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

© Microsoft Corporation. All rights reserved.