FIX: The critical compaction runs infinitely during the initialization of the Flash MDD driver when you run a stress test on a Windows Embedded CE 6.0 R3-based device

Symptoms

Consider the following scenario:

  • You run a Windows Embedded CE 6.0 R3-based operating system image that includes the Flash MDD component on a device.
  • You run a stress test that causes multiple power losses when write operations are performed on a volume of the device.

In this scenario, the device enters a state in which the critical compaction runs infinitely during the initialization of the Flash MDD driver. Additionally, the device does not start successfully even if the device is reset.

Cause

This problem occurs because a metadata bit for a block determines incorrectly that a sector is not dirty. Then, some dirty sectors cannot be detected. When the compactor cannot find enough dirty sectors to free up, the critical compaction runs in a tight loop.

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. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is as follows:

Product version-yymmdd-kbnnnnnn-processor typeFor 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 how to obtain Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder productsAfter you apply the update, DNS query packets are sent only from the VPN interface. Additionally, the packets will be sent only from the last VPN interface even if there are multiple VPN interfaces.

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 name File size Date Time
Wincepb60-100731-kb2289488-armv4i.msi 870,912 03-Aug-2010 18:02
Wincepb60-100731-kb2289488-mipsii.msi 849,920 03-Aug-2010 18:02
Wincepb60-100731-kb2289488-mipsii_fp.msi 849,920 03-Aug-2010 18:02
Wincepb60-100731-kb2289488-mipsiv.msi 855,040 03-Aug-2010 18:02
Wincepb60-100731-kb2289488-mipsiv_fp.msi 855,040 03-Aug-2010 18:02
Wincepb60-100731-kb2289488-sh4.msi 843,264 03-Aug-2010 18:02
Wincepb60-100731-kb2289488-x86.msi 800,256 03-Aug-2010 18:02

Files that are included in this update package

                  

File name File size Date Time Path
Windows embedded ce 6.0_update_kb2289488.htm 7,766 03-Aug-2010 17:45 100731_kb2289488
Flashmddcore.lib 746,592 31-Jul-2010 00:50 Public\Common\Oak\Lib\Armv4i\Debug
Flashmddcore.lib 586,842 31-Jul-2010 00:50 Public\Common\Oak\Lib\Armv4i\Retail
Flashmddcore.lib 721,470 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsii\Debug
Flashmddcore.lib 559,134 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsii\Retail
Flashmddcore.lib 721,588 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashmddcore.lib 559,234 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashmddcore.lib 731,936 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsiv\Debug
Flashmddcore.lib 567,704 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsiv\Retail
Flashmddcore.lib 732,054 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Flashmddcore.lib 567,804 31-Jul-2010 00:51 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Flashmddcore.lib 655,366 31-Jul-2010 00:52 Public\Common\Oak\Lib\Sh4\Debug
Flashmddcore.lib 529,470 31-Jul-2010 00:51 Public\Common\Oak\Lib\Sh4\Retail
Flashmddcore.lib 603,440 31-Jul-2010 00:50 Public\Common\Oak\Lib\X86\Debug
Flashmddcore.lib 517,308 31-Jul-2010 00:50 Public\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