FIX: A deadlock may occur between two threads that call the MountPartition function and the CeResyncFilesys function in Windows Embedded CE 6.0 R3

Symptoms

Consider the following scenario:

  • You run a Windows Embedded CE 6.0 R3-based image that contains the Storage Manager components on a target device.
  • A thread calls the MountPartition function. For example, this happens when you mount an external storage device manually to the Windows Embedded CE 6.0 R3-based device and an application calls the function to mount the storage device.
  • Another thread calls the CeResyncFilesys function. For example, this happens when you repeatedly attach and detach the external storage device to the Windows Embedded CE 6.0 R3-based device.

In this scenario, a deadlock may occur between the two threads. Additionally, the applications that produce these threads may stop responding.

Resolution

Software update information

A supported software update is now available from Microsoft as "Windows Embedded CE 6.0 Monthly Update November 2011." In the "File information" section, the package file name contains the product version, the date, the Knowledge Base article number, and the processor type. The package file name format is as follows:

Product version-yymmdd-kbnnnnnn-processor typeFor example, Wincepb60-110128-kb2492159-armv4i.msi is the ARMV4i Windows Embedded CE 6.0 Platform Builder fix that is documented in Microsoft Knowledge Base article 2492159 and that is contained in the January 2011 monthly update.

To resolve this problem immediately, download this Windows Embedded CE 6.0 Monthly Update from the following Microsoft website.

Microsoft Download Center

Windows Embedded CE 6.0

Additional update information

This update fixes another issue in the File System Disk Manager (FSDMGR). The issue occurs after you apply update 2557486 in which you may encounter store lock errors when FSDMGR handles "Mount In progress" stores. For more information about update 2557486, click the following article number to view the article in the Microsoft Knowledge Base:

2557486 FIX: The file system API cannot be returned when the FSDMGR PNP thread maintains a lock on a Windows Embedded CE 6.0 R3-based device Note The fix is included in Windows Embedded CE 6.0 Monthly Update September 2011.

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 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 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 name File size Date Time
Wincepb60-111117-kb2627261-mipsiv_fp.msi 1,585,152 17-Nov-2011 22:48
Wincepb60-111117-kb2627261-sh4.msi 1,544,192 17-Nov-2011 22:48
Wincepb60-111117-kb2627261-x86.msi 1,445,888 17-Nov-2011 22:48
Wincepb60-111117-kb2627261-armv4i.msi 1,589,248 17-Nov-2011 22:48
Wincepb60-111117-kb2627261-mipsii.msi 1,576,960 17-Nov-2011 22:48
Wincepb60-111117-kb2627261-mipsii_fp.msi 1,576,960 17-Nov-2011 22:48
Wincepb60-111117-kb2627261-mipsiv.msi 1,585,152 17-Nov-2011 22:48

Files that are included in this update package

File name File size Date Time Path
Windows embedded ce 6.0_update_kb2627261.htm 7,935 17-Nov-2011 20:59 111117_kb2627261
Stgapi.cpp 31,805 08-Nov-2011 21:15 Private\Winceos\Coreos\Storage\Fsdmgr
Storemain.cpp 49,553 08-Nov-2011 21:15 Private\Winceos\Coreos\Storage\Fsdmgr
Fsdmgr_lib.lib 1,528,856 08-Nov-2011 21:13 Public\Common\Oak\Lib\Armv4i\Debug
Fsdmgr_lib.lib 1,239,910 08-Nov-2011 21:13 Public\Common\Oak\Lib\Armv4i\Retail
Fsdmgr_lib.lib 1,503,206 08-Nov-2011 21:14 Public\Common\Oak\Lib\Mipsii\Debug
Fsdmgr_lib.lib 1,247,744 08-Nov-2011 21:14 Public\Common\Oak\Lib\Mipsii\Retail
Fsdmgr_lib.lib 1,503,504 08-Nov-2011 21:14 Public\Common\Oak\Lib\Mipsii_fp\Debug
Fsdmgr_lib.lib 1,248,172 08-Nov-2011 21:14 Public\Common\Oak\Lib\Mipsii_fp\Retail
Fsdmgr_lib.lib 1,526,470 08-Nov-2011 21:15 Public\Common\Oak\Lib\Mipsiv\Debug
Fsdmgr_lib.lib 1,265,074 08-Nov-2011 21:14 Public\Common\Oak\Lib\Mipsiv\Retail
Fsdmgr_lib.lib 1,526,768 08-Nov-2011 21:15 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Fsdmgr_lib.lib 1,265,494 08-Nov-2011 21:15 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Fsdmgr_lib.lib 1,348,952 08-Nov-2011 21:15 Public\Common\Oak\Lib\Sh4\Debug
Fsdmgr_lib.lib 1,138,596 08-Nov-2011 21:15 Public\Common\Oak\Lib\Sh4\Retail
Fsdmgr_lib.lib 1,273,618 08-Nov-2011 21:13 Public\Common\Oak\Lib\X86\Debug
Fsdmgr_lib.lib 1,070,386 08-Nov-2011 21:13 Public\Common\Oak\Lib\X86\Retail

References

For more information about the MountPartition function, visit the following Microsoft Developer Network (MSDN) website:

MountPartition (Windows Embedded Compact 7) For more information about the CeResyncFilesys function, visit the following MSDN website:

CeResyncFilesys (Windows Embedded Compact 7) 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