A thread leak occurs in the Udevice.exe process when you try to establish a L2TP/IPsec connection to a server from a Windows Embedded CE 6.0 R3-based device

Symptoms

Consider the following scenario:
  • You are running a Windows Embedded CE 6.0 R3-based operating system image on a device. The operating system image includes modules and components that implement Layer Two Tunneling Protocol (L2TP) over Internet Protocol security (IPsec).
  • You try to establish an L2TP/IPsec connection from the device to a server.
  • One of the following operations is performed:
    • The L2TP/IPsec connection is established successfully and then you disconnect the connection.
    • The L2TP/IPsec connection cannot be established because of a network issue or an invalid credential.
In this scenario, a thread leak occurs in the Udevice.exe process. The thread number of the Udevice.exe process increases by one at each connection attempt. Additionally, a memory leak of 32 kilobytes (KB) occurs during each connection attempt. If you try to establish the L2TP/IPsec connection many times, you may receive an "out of memory" error message and you may have to restart the device to recover from the issue.

Cause

This issue occurs because an orphan thread that contains an OverlapWrapper class instance remains undeleted each time that you try to establish an L2TP/IPsec connection. This behavior causes the thread leak. Therefore, you experience the issue that is described in the "Symptoms" section.

Resolution

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Platform Builder Monthly Update (July 2010). 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 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 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

This update is supported only if all previously issued updates for this product have also been installed.

Restart requirement

After you apply this 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, and then click Build Platform.
  • On the Build menu, click Rebuild Platform.
You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any other 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
File nameFile sizeDateTime
Wincepb60-100727-kb2252004-armv4i.msi1,273,34427-Jul-201019:40
Wincepb60-100727-kb2252004-mipsii.msi1,252,86427-Jul-201019:40
Wincepb60-100727-kb2252004-mipsii_fp.msi1,252,86427-Jul-201019:40
Wincepb60-100727-kb2252004-mipsiv.msi1,262,59227-Jul-201019:40
Wincepb60-100727-kb2252004-mipsiv_fp.msi1,262,59227-Jul-201019:40
Wincepb60-100727-kb2252004-sh4.msi1,237,50427-Jul-201019:40
Wincepb60-100727-kb2252004-x86.msi1,184,25627-Jul-201019:40
Files that are included in this hotfix package
File nameFile sizeDateTimePath
Windows embedded ce 6.0_update_kb2252004.htm7,65527-Jul-201018:45100727_kb2252004
Ipsecspd.lib1,009,45623-Jul-201015:35Public\Common\Oak\Lib\Armv4i\Debug
Ipsecspd.lib842,55823-Jul-201015:35Public\Common\Oak\Lib\Armv4i\Retail
Ipsecspd.lib961,84223-Jul-201015:35Public\Common\Oak\Lib\Mipsii\Debug
Ipsecspd.lib824,66623-Jul-201015:35Public\Common\Oak\Lib\Mipsii\Retail
Ipsecspd.lib962,28423-Jul-201015:35Public\Common\Oak\Lib\Mipsii_fp\Debug
Ipsecspd.lib825,13023-Jul-201015:35Public\Common\Oak\Lib\Mipsii_fp\Retail
Ipsecspd.lib978,60023-Jul-201015:36Public\Common\Oak\Lib\Mipsiv\Debug
Ipsecspd.lib838,24623-Jul-201015:36Public\Common\Oak\Lib\Mipsiv\Retail
Ipsecspd.lib979,04223-Jul-201015:36Public\Common\Oak\Lib\Mipsiv_fp\Debug
Ipsecspd.lib838,69823-Jul-201015:36Public\Common\Oak\Lib\Mipsiv_fp\Retail
Ipsecspd.lib870,02223-Jul-201015:36Public\Common\Oak\Lib\Sh4\Debug
Ipsecspd.lib763,99423-Jul-201015:36Public\Common\Oak\Lib\Sh4\Retail
Ipsecspd.lib855,14423-Jul-201015:35Public\Common\Oak\Lib\X86\Debug
Ipsecspd.lib765,10623-Jul-201015:34Public\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 software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Properties

Article ID: 2252004 - Last Review: Aug 10, 2010 - Revision: 1

Feedback