Article ID: 2516902 - Last Review: April 12, 2011 - Revision: 1.0

A memory leak occurs when you perform some operations on a storage device or on a USB HID that is inserted into a Windows Embedded CE 6.0 R3-based device

System TipThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

On This Page

Expand all | Collapse all

SYMPTOMS

Consider the following scenario:
  • You insert one of the following devices into a Windows Embedded CE 6.0 R3-based device:
    • A storage device. For example, an SD card or a CF card.
    • A USB human interface device (HID). For example, a USB keyboard or a USB mouse.
  • You perform one of the following operations:
    • You remove and then reinsert the storage device or the USB HID device quickly.
    • You suspend and then resume the Windows Embedded CE 6.0 R3-based device.
In this scenario, some event handles are not freed. If you repeat one of the operations frequently, a memory leak occurs in the File System Disk Manager (FSDMGR) functions or in the USB stack. This causes the performance of the device to decrease.

CAUSE

A memory leak in the FSDMGR functions

This issue occurs because the function that unmounts the partitions is not called after the storage device is removed and reinserted, and before the PnPUnloadDelay subkey times out.

A memory leak in the USB stack

This issue occurs because some event handles were recreated without freeing the existing handle instances during the resume cycle.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Platform Builder Monthly Update (March 2011). You can confirm this by scrolling to the "File information" section of this article. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is:
Product version-yymmdd-kbnnnnnn-processor type
For example: Wincepb50-060503-kb917590-armv4i.msi is the ARMV4i Windows Embedded CE 5.0 Platform Builder fix that is documented in KB article 917590 and that is contained in the May 2006 monthly update. To resolve this problem immediately, click the following article number for information about obtaining Windows Embedded CE Platform Builder and core operating system software updates:
837392  (http://support.microsoft.com/kb/837392/ ) How to locate core operating system fixes for Microsoft Windows Embedded CE Platform Builder products


Note This Windows Embedded CE 6.0 Monthly Update is also available for download from the following Microsoft Download Center website:
Windows Embedded CE 6.0 Updates (http://www.microsoft.com/downloads/en/ResultsForProduct.aspx?productID=f8af6708-edcb-472a-829d-f73d951c35a1&stype=ss_sd&displaylang=en&nr=10&sortCriteria=Popularity&sortOrder=Ascending)

Prerequisites

To apply this software update, you must have all previously issued software updates for this product installed.

Restart requirement

After you install this software update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
  • On the Build menu, click Clean Solution, and then click Build Solution.
  • On the Build menu, click Rebuild Solution.
You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any updates.

File information

The English version of this software update package has the file attributes (or later file attributes) 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 item in Control Panel.
Installer files
Collapse this tableExpand this table
File nameFile sizeDateTime
Wincepb60-110329-kb2516902-armv4i.msi3,985,92029-Mar-201118:56
Wincepb60-110329-kb2516902-mipsii.msi3,906,04829-Mar-201118:56
Wincepb60-110329-kb2516902-mipsii_fp.msi3,907,58429-Mar-201118:56
Wincepb60-110329-kb2516902-mipsiv.msi3,938,81629-Mar-201118:56
Wincepb60-110329-kb2516902-mipsiv_fp.msi3,939,84029-Mar-201118:56
Wincepb60-110329-kb2516902-sh4.msi3,799,55229-Mar-201118:56
Wincepb60-110329-kb2516902-x86.msi3,475,96829-Mar-201118:56
Files that are included in this hotfix package
Collapse this tableExpand this table
File nameFile sizeDateTimePath
Windows embedded ce 6.0_update_kb2516902.htm8,27129-Mar-201117:25110329_kb2516902
Logicaldisk.hpp10,06424-Mar-201119:55Private\Winceos\Coreos\Storage\Fsdmgr
Partition.hpp18,16224-Mar-201119:55Private\Winceos\Coreos\Storage\Fsdmgr
Setup.cpp25,94124-Mar-201119:55Public\Common\Oak\Drivers\Usb\Class\Hid\Hidclass\Usbpdd
Cdevice.cpp215,01524-Mar-201119:55Public\Common\Oak\Drivers\Usb\Hcd\Common
Chw.cpp75,68524-Mar-201119:55Public\Common\Oak\Drivers\Usb\Hcd\Usb20\Ehci
Cdevice.cpp212,27024-Mar-201119:55Public\Common\Oak\Drivers\Usb\Hcd\Usb20\Usb2com
Ehcdmdd.lib816,96424-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Ehci_lib.lib1,513,44024-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Fsdmgr_lib.lib1,525,00224-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Hcd2lib.lib665,14024-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Hcdlib.lib679,44824-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Uhci_lib.lib1,329,93624-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Usbhid_lib.lib200,81824-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Debug
Ehcdmdd.lib471,31024-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Retail
Ehci_lib.lib765,13224-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Retail
Fsdmgr_lib.lib1,238,80824-Mar-201119:50Public\Common\Oak\Lib\Armv4i\Retail
Hcd2lib.lib267,15424-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Retail
Hcdlib.lib274,81824-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Retail
Uhci_lib.lib528,59024-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Retail
Usbhid_lib.lib80,79224-Mar-201119:51Public\Common\Oak\Lib\Armv4i\Retail
Ehcdmdd.lib790,51824-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Debug
Ehci_lib.lib1,471,63224-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Debug
Fsdmgr_lib.lib1,499,74824-Mar-201119:51Public\Common\Oak\Lib\Mipsii\Debug
Hcd2lib.lib651,20224-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Debug
Hcdlib.lib665,57424-Mar-201119:51Public\Common\Oak\Lib\Mipsii\Debug
Uhci_lib.lib1,304,06824-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Debug
Usbhid_lib.lib195,39224-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Debug
Ehcdmdd.lib449,63024-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Retail
Ehci_lib.lib744,29624-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Retail
Fsdmgr_lib.lib1,247,02624-Mar-201119:51Public\Common\Oak\Lib\Mipsii\Retail
Hcd2lib.lib269,99224-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Retail
Hcdlib.lib278,04424-Mar-201119:51Public\Common\Oak\Lib\Mipsii\Retail
Uhci_lib.lib525,86624-Mar-201119:51Public\Common\Oak\Lib\Mipsii\Retail
Usbhid_lib.lib81,41024-Mar-201119:52Public\Common\Oak\Lib\Mipsii\Retail
Ehcdmdd.lib790,58424-Mar-201119:53Public\Common\Oak\Lib\Mipsii_fp\Debug
Ehci_lib.lib1,471,75624-Mar-201119:53Public\Common\Oak\Lib\Mipsii_fp\Debug
Fsdmgr_lib.lib1,500,05224-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Debug
Hcd2lib.lib651,25024-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Debug
Hcdlib.lib665,60624-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Debug
Uhci_lib.lib1,304,14224-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Debug
Usbhid_lib.lib195,41424-Mar-201119:53Public\Common\Oak\Lib\Mipsii_fp\Debug
Ehcdmdd.lib449,68424-Mar-201119:53Public\Common\Oak\Lib\Mipsii_fp\Retail
Ehci_lib.lib744,40824-Mar-201119:53Public\Common\Oak\Lib\Mipsii_fp\Retail
Fsdmgr_lib.lib1,247,45024-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Retail
Hcd2lib.lib270,04224-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Retail
Hcdlib.lib278,09824-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Retail
Uhci_lib.lib525,96224-Mar-201119:52Public\Common\Oak\Lib\Mipsii_fp\Retail
Usbhid_lib.lib81,43824-Mar-201119:53Public\Common\Oak\Lib\Mipsii_fp\Retail
Ehcdmdd.lib796,76624-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Debug
Ehci_lib.lib1,483,19224-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Debug
Fsdmgr_lib.lib1,522,98024-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Debug
Hcd2lib.lib656,03024-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Debug
Hcdlib.lib670,72624-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Debug
Uhci_lib.lib1,312,71624-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Debug
Usbhid_lib.lib196,38424-Mar-201119:54Public\Common\Oak\Lib\Mipsiv\Debug
Ehcdmdd.lib452,99424-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Ehci_lib.lib751,18424-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Fsdmgr_lib.lib1,264,39624-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Hcd2lib.lib273,18024-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Hcdlib.lib281,38024-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Uhci_lib.lib531,26824-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Usbhid_lib.lib82,78424-Mar-201119:53Public\Common\Oak\Lib\Mipsiv\Retail
Ehcdmdd.lib796,83224-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Ehci_lib.lib1,483,31624-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Fsdmgr_lib.lib1,523,28424-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Hcd2lib.lib656,07824-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Hcdlib.lib670,75824-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Uhci_lib.lib1,312,79024-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Usbhid_lib.lib196,40624-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Debug
Ehcdmdd.lib453,04824-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Ehci_lib.lib751,29624-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Fsdmgr_lib.lib1,264,81624-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Hcd2lib.lib273,23024-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Hcdlib.lib281,43424-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Uhci_lib.lib531,36424-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Usbhid_lib.lib82,81224-Mar-201119:54Public\Common\Oak\Lib\Mipsiv_fp\Retail
Ehcdmdd.lib703,00224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Ehci_lib.lib1,299,42424-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Fsdmgr_lib.lib1,345,88224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Hcd2lib.lib569,20224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Hcdlib.lib581,24224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Uhci_lib.lib1,135,98224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Usbhid_lib.lib170,24824-Mar-201119:55Public\Common\Oak\Lib\Sh4\Debug
Ehcdmdd.lib415,48224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Retail
Ehci_lib.lib686,75624-Mar-201119:55Public\Common\Oak\Lib\Sh4\Retail
Fsdmgr_lib.lib1,137,82224-Mar-201119:54Public\Common\Oak\Lib\Sh4\Retail
Hcd2lib.lib248,03824-Mar-201119:55Public\Common\Oak\Lib\Sh4\Retail
Hcdlib.lib255,23224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Retail
Uhci_lib.lib485,20224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Retail
Usbhid_lib.lib76,78224-Mar-201119:55Public\Common\Oak\Lib\Sh4\Retail
Ehcdmdd.lib651,21624-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Ehci_lib.lib1,240,49624-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Fsdmgr_lib.lib1,270,43024-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Hcd2lib.lib562,82224-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Hcdlib.lib573,47424-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Uhci_lib.lib1,114,45624-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Usbhid_lib.lib173,89824-Mar-201119:50Public\Common\Oak\Lib\X86\Debug
Ehcdmdd.lib393,38824-Mar-201119:50Public\Common\Oak\Lib\X86\Retail
Ehci_lib.lib656,14224-Mar-201119:50Public\Common\Oak\Lib\X86\Retail
Fsdmgr_lib.lib1,069,36024-Mar-201119:50Public\Common\Oak\Lib\X86\Retail
Hcd2lib.lib238,32424-Mar-201119:50Public\Common\Oak\Lib\X86\Retail
Hcdlib.lib244,04024-Mar-201119:50Public\Common\Oak\Lib\X86\Retail
Uhci_lib.lib460,30224-Mar-201119:50Public\Common\Oak\Lib\X86\Retail
Usbhid_lib.lib77,03224-Mar-201119:50Public\Common\Oak\Lib\X86\Retail

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

For more information about the PNPUnloadDelay subkey for the storage manager, visit the following Microsoft Developer Netowork (MSDN) website:
General information about the "PNPUnloadDelay" subkey (http://msdn.microsoft.com/en-us/library/aa912238.aspx)
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

APPLIES TO
  • Windows Embedded CE 6.0 R3
Keywords: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced atdownload KB2516902