Commerce OLE DB Provider Leaks Memory When You Repeatedly Load and Unload Csoledbprovider.dll (277284)



The information in this article applies to:

  • Microsoft Commerce Server 2000

This article was previously published under Q277284

SYMPTOMS

When you repeatedly load and unload the Commerce OLE DB Provider (CSOLEDB) Csoledbprovider.dll that is included with Commerce Server 2000, an increase in the private bytes of the client process may occur.

CAUSE

The Commerce OLE DB Provider (CSOLEDB) maintains an error stack per thread in the thread local storage (TLS). This memory is not freed for all threads that have been created in the client process before the CSOLEDB provider was loaded into the address space of the client. This results in a memory leak that is proportional to the number of threads that were created before the CSOLEDB provider was loaded into the client's address space.

WORKAROUND

To minimize the effect of this problem, maintain a handle to the CSOLEDB provider until the process either shuts down successfully or is terminated abnormally. By doing this, Csoledbprovider.dll is not unloaded from memory, and the resulting memory leak is kept to a minimum.

STATUS

Microsoft has confirmed that this is a problem in Commerce Server 2000.

Modification Type:MajorLast Reviewed:10/16/2002
Keywords:kbbug KB277284