Handle Leak in SnaBase When SNA API DLL Is Loaded/Unloaded Repeatedly (239919)
The information in this article applies to:
- Microsoft SNA Server 3.0
- Microsoft SNA Server 3.0 SP1
- Microsoft SNA Server 3.0 SP2
- Microsoft SNA Server 3.0 SP3
- Microsoft SNA Server 3.0 SP4
- Microsoft SNA Server 4.0
- Microsoft SNA Server 4.0 SP1
- Microsoft SNA Server 4.0 SP2
This article was previously published under Q239919 SYMPTOMS
An SNA Server application may experience a memory and handle leak if the application repeatedly calls LoadLibrary and FreeLibrary on the SNA API DLL interface that its using. These API interfaces include RUI (Winrui32.dll), SLI (Winsli32.dll), APPC (Wappc32.dll) and CPIC (Wcpic32.dll). In addition to the application resource leaks, this behavior will also cause the SnaBase process handle count to increase over time, as viewed by Windows NT Performance Monitor. This behavior was found by an application which repeatedly loaded and unloaded the RUI interface (Winrui32.dll).
CAUSE
When the SNA API DLL is dynamically loaded and unloaded, resource leaks occurred in the underlying Snadmod.dll, which is statically linked to the SNA API DLLs.
RESOLUTION
To resolve this problem, obtain the latest service pack for SNA Server version 4.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
215838 How to Obtain the Latest SNA Server Version 4.0 Service Pack
WORKAROUND
This problem can be avoided if the application loads the SNA API DLL only once when starting, and unloads it when exiting.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article. This problem was first corrected in SNA Server version 4.0 Service Pack 3.
Modification Type: | Major | Last Reviewed: | 6/24/2004 |
---|
Keywords: | kbbug kbfix kbQFE kbsna400sp3fix KB239919 |
---|
|