Microsoft KB Archive/822479

From BetaArchive Wiki

Article ID: 822479

Article Last Modified on 5/27/2005



APPLIES TO

  • Microsoft Windows CE Platform Builder 2.12



SYMPTOMS

If a DLL module is repeatedly loaded and unloaded by an application, the DLL module may leak memory if it has any global C++ variable whose class has an implicit or explicit destructor.

CAUSE

The implementation of the C-runtime function, atexit, allocates memory that is not freed when a DLL that calls atexit is unloaded.

The atexit function is also used to implement C++ global destructors. This implementation causes DLLs that have global C++ variables to leak when unloaded.

RESOLUTION

Hotfix Information

A supported software update is now available from Microsoft as Windows CE 2.12 Core OS QFE 822479. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products


Prerequisites

Install all previously released updates (QFEs) for this version of the Windows CE operating system.

Restart Requirement

You do not have to restart your computer after you apply this hotfix.

Hotfix Replacement Information


This hotfix does not replace any other hotfixes.

File Information

The English version of this package has the file attributes (or later) that are listed in the following table.

   Date         Time   Version            Size    File name
   --------------------------------------------------------------

   19-Jul-2003  00:12  2.12.0.37       5,421,656  Wce212qfe37.exe  

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

   Date         Time                      Size    File name
   --------------------------------------------------------------

   Path: Qfe37\Public\Common\Oak\Lib\Arm\Arm720\Ce\Debug
   03-Jul-2003  21:46                     35,640  Ccrtstrt.lib
   03-Jul-2003  21:46                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:44                    848,618  Fulllibc.lib
   16-Jul-2003  21:44                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Arm\Arm720\Ce\Retail
   03-Jul-2003  21:45                     36,180  Ccrtstrt.lib
   03-Jul-2003  21:45                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:43                    812,266  Fulllibc.lib
   16-Jul-2003  21:43                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Arm\Sa1100\Ce\Debug
   03-Jul-2003  21:48                     33,682  Ccrtstrt.lib
   03-Jul-2003  21:48                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:02                    844,964  Fulllibc.lib
   16-Jul-2003  21:02                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Arm\Sa1100\Ce\Retail
   03-Jul-2003  21:47                     34,152  Ccrtstrt.lib
   03-Jul-2003  21:47                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:01                    808,232  Fulllibc.lib
   16-Jul-2003  21:01                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R3000\Ce\Debug
   03-Jul-2003  20:47                     47,956  Ccrtstrt.lib
   03-Jul-2003  20:47                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:17                  1,065,020  Fulllibc.lib
   16-Jul-2003  21:17                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R3000\Ce\Retail
   03-Jul-2003  20:46                     48,928  Ccrtstrt.lib
   03-Jul-2003  20:46                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:16                  1,058,134  Fulllibc.lib
   16-Jul-2003  21:16                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R4100\Ce\Debug
   03-Jul-2003  20:59                     47,956  Ccrtstrt.lib
   03-Jul-2003  20:59                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:19                  1,065,124  Fulllibc.lib
   16-Jul-2003  21:19                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R4100\Ce\Retail
   03-Jul-2003  20:58                     48,912  Ccrtstrt.lib
   03-Jul-2003  20:58                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:19                  1,057,598  Fulllibc.lib
   16-Jul-2003  21:19                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R4111\Ce\Debug
   03-Jul-2003  21:00                     47,956  Ccrtstrt.lib
   03-Jul-2003  21:00                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:23                  1,065,124  Fulllibc.lib
   16-Jul-2003  21:23                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R4111\Ce\Retail
   03-Jul-2003  21:00                     46,860  Ccrtstrt.lib
   03-Jul-2003  21:00                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:21                  1,009,114  Fulllibc.lib
   16-Jul-2003  21:21                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R4300\Ce\Debug
   03-Jul-2003  21:02                     47,956  Ccrtstrt.lib
   03-Jul-2003  21:02                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:26                    911,524  Fulllibc.lib
   16-Jul-2003  21:26                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Mips\R4300\Ce\Retail
   03-Jul-2003  21:01                     48,912  Ccrtstrt.lib
   03-Jul-2003  21:01                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:24                    903,492  Fulllibc.lib
   16-Jul-2003  21:24                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Ppc\Ppc403\Ce\Debug
   03-Jul-2003  21:36                     37,264  Ccrtstrt.lib
   03-Jul-2003  21:36                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:37                    832,448  Fulllibc.lib
   16-Jul-2003  21:37                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Ppc\Ppc403\Ce\Retail
   03-Jul-2003  21:35                     37,786  Ccrtstrt.lib
   03-Jul-2003  21:35                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:35                    795,616  Fulllibc.lib
   16-Jul-2003  21:35                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Ppc\Ppc821\Ce\Debug
   03-Jul-2003  21:40                     37,264  Ccrtstrt.lib
   03-Jul-2003  21:40                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:41                    832,448  Fulllibc.lib
   16-Jul-2003  21:41                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Ppc\Ppc821\Ce\Retail
   03-Jul-2003  21:39                     37,786  Ccrtstrt.lib
   03-Jul-2003  21:39                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:38                    795,616  Fulllibc.lib
   16-Jul-2003  21:38                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Shx\Sh3\Ce\Debug
   03-Jul-2003  20:42                     28,316  Ccrtstrt.lib
   03-Jul-2003  20:42                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:05                    946,694  Fulllibc.lib
   16-Jul-2003  21:05                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Shx\Sh3\Ce\Retail
   03-Jul-2003  20:41                     29,892  Ccrtstrt.lib
   03-Jul-2003  20:41                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:04                    886,176  Fulllibc.lib
   16-Jul-2003  21:04                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Shx\Sh4\Ce\Debug
   03-Jul-2003  20:45                     28,168  Ccrtstrt.lib
   03-Jul-2003  20:45                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:12                    922,542  Fulllibc.lib
   16-Jul-2003  21:12                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Shx\Sh4\Ce\Retail
   03-Jul-2003  20:44                     29,742  Ccrtstrt.lib
   03-Jul-2003  20:44                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:09                    858,812  Fulllibc.lib
   16-Jul-2003  21:09                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Thumb\Arm720\Ce\Debug
   14-Jul-2003  19:54                     35,788  Ccrtstrt.lib
   14-Jul-2003  19:54                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:53                    851,320  Fulllibc.lib
   16-Jul-2003  21:53                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\Thumb\Arm720\Ce\Retail
   14-Jul-2003  19:53                     36,612  Ccrtstrt.lib
   14-Jul-2003  19:53                     53,248  Ccrtstrt.pdb
   16-Jul-2003  21:54                    837,560  Fulllibc.lib
   16-Jul-2003  21:54                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\X86\I486\Ce\Debug
   14-Jul-2003  20:49                     32,740  Ccrtstrt.lib
   14-Jul-2003  20:49                     53,248  Ccrtstrt.pdb
   16-Jul-2003  20:59                    633,776  Fulllibc.lib
   16-Jul-2003  20:59                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Oak\Lib\X86\I486\Ce\Retail
   14-Jul-2003  20:48                     34,508  Ccrtstrt.lib
   14-Jul-2003  20:48                     53,248  Ccrtstrt.pdb
   16-Jul-2003  20:58                    610,116  Fulllibc.lib
   16-Jul-2003  20:58                     36,864  Fulllibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Arm\Arm720\Ce\Debug
   16-Jul-2003  21:44                     36,352  Corelibc.lib
   16-Jul-2003  21:44                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Arm\Arm720\Ce\Retail
   16-Jul-2003  21:43                     36,892  Corelibc.lib
   16-Jul-2003  21:43                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Arm\Sa1100\Ce\Debug
   16-Jul-2003  21:02                     34,394  Corelibc.lib
   16-Jul-2003  21:02                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Arm\Sa1100\Ce\Retail
   16-Jul-2003  21:01                     34,864  Corelibc.lib
   16-Jul-2003  21:01                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R3000\Ce\Debug
   16-Jul-2003  21:17                     48,650  Corelibc.lib
   16-Jul-2003  21:17                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R3000\Ce\Retail
   16-Jul-2003  21:16                     49,622  Corelibc.lib
   16-Jul-2003  21:16                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R4100\Ce\Debug
   16-Jul-2003  21:19                     48,650  Corelibc.lib
   16-Jul-2003  21:19                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R4100\Ce\Retail
   16-Jul-2003  21:19                     49,606  Corelibc.lib
   16-Jul-2003  21:19                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R4111\Ce\Debug
   16-Jul-2003  21:23                     48,650  Corelibc.lib
   16-Jul-2003  21:23                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R4111\Ce\Retail
   16-Jul-2003  21:21                     47,554  Corelibc.lib
   16-Jul-2003  21:21                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R4300\Ce\Debug
   16-Jul-2003  21:26                     48,650  Corelibc.lib
   16-Jul-2003  21:26                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Mips\R4300\Ce\Retail
   16-Jul-2003  21:24                     49,606  Corelibc.lib
   16-Jul-2003  21:24                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Ppc\Ppc403\Ce\Debug
   16-Jul-2003  21:37                     37,970  Corelibc.lib
   16-Jul-2003  21:37                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Ppc\Ppc403\Ce\Retail
   16-Jul-2003  21:35                     38,496  Corelibc.lib
   16-Jul-2003  21:35                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Ppc\Ppc821\Ce\Debug
   16-Jul-2003  21:41                     37,970  Corelibc.lib
   16-Jul-2003  21:41                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Ppc\Ppc821\Ce\Retail
   16-Jul-2003  21:38                     38,496  Corelibc.lib
   16-Jul-2003  21:38                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Shx\Sh3\Ce\Debug
   16-Jul-2003  21:05                     28,804  Corelibc.lib
   16-Jul-2003  21:05                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Shx\Sh3\Ce\Retail
   16-Jul-2003  21:04                     30,384  Corelibc.lib
   16-Jul-2003  21:04                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Shx\Sh4\Ce\Debug
   16-Jul-2003  21:12                     28,656  Corelibc.lib
   16-Jul-2003  21:12                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Shx\Sh4\Ce\Retail
   16-Jul-2003  21:09                     30,234  Corelibc.lib
   16-Jul-2003  21:09                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Thumb\Arm720\Ce\Debug
   16-Jul-2003  21:53                     36,508  Corelibc.lib
   16-Jul-2003  21:53                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\Thumb\Arm720\Ce\Retail
   16-Jul-2003  21:54                     37,332  Corelibc.lib
   16-Jul-2003  21:54                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\X86\I486\Ce\Debug
   16-Jul-2003  20:59                     33,486  Corelibc.lib
   16-Jul-2003  20:59                     36,864  Corelibc.pdb

   Path: Qfe37\Public\Common\Sdk\Lib\X86\I486\Ce\Retail
   16-Jul-2003  20:58                     35,256  Corelibc.lib
   16-Jul-2003  20:58                     36,864  Corelibc.pdb

STATUS

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

MORE INFORMATION

Microsoft recommends the following:

  • After you apply this fix, export the platform SDK.
  • Re-link with the updated platform SDK any DLL modules that leak when repeatedly loaded and unloaded.
  • If you (the developer) have an application that is built by using the OEM's platform SDK that has these symptoms, obtain the updated platform SDK from the OEM directly (not from Microsoft), and then relink your application.


Keywords: kbbug kbfix kbqfe KB822479