Article ID: 2619270 - Last Review: January 10, 2012 - Revision: 1.0

FIX: A "Data Abort" exception occurs on a Windows Embedded Compact 7-based device that uses the NAND flash partition driver

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 have a Windows Embedded Compact 7-based device that uses the NAND flash partition driver.
  • A new NAND flash partition is created at run time. At the same time, another thread performs a file IO operation on an existing NAND flash partition.
In this scenario, a "Data Abort" exception occurs in the NAND flash partition driver.

CAUSE

This issue occurs because of a race condition between two threads that concurrently access and modify the partition information that is maintained within the partition driver.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows Embedded Compact 7 Monthly Update December 2011. In the "File information" section, the package file name contains the processor type.

Note This Windows Embedded Compact 7 Monthly Update is available for download from the following Microsoft Download Center website:
Windows Embedded Compact 7 Updates (http://www.microsoft.com/download/en/search.aspx?q=Windows+Embedded+7+Monthly+Update)

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.
Files that are included in this update package
Collapse this tableExpand this table
File nameFile sizeDateTimePath
Flashmddinterface.h6,59214-Dec-201119:58Public\Common\Oak\Drivers\Block\Msflash\Inc
Flashmdd.h13,09114-Dec-201119:58Public\Common\Oak\Inc
Flashmdd.lib2,78614-Dec-201119:43Public\Common\Oak\Lib\Armv5\Checked
Flashmddcore.lib1,027,02814-Dec-201119:43Public\Common\Oak\Lib\Armv5\Checked
Flashpart.lib5,63814-Dec-201119:43Public\Common\Oak\Lib\Armv5\Checked
Flashmdd.lib2,78614-Dec-201119:42Public\Common\Oak\Lib\Armv5\Debug
Flashmddcore.lib1,170,82014-Dec-201119:43Public\Common\Oak\Lib\Armv5\Debug
Flashpart.lib5,63814-Dec-201119:43Public\Common\Oak\Lib\Armv5\Debug
Flashmdd.lib2,78614-Dec-201119:42Public\Common\Oak\Lib\Armv5\Retail
Flashmddcore.lib869,84014-Dec-201119:43Public\Common\Oak\Lib\Armv5\Retail
Flashpart.lib5,63814-Dec-201119:43Public\Common\Oak\Lib\Armv5\Retail
Flashmdd.lib2,78614-Dec-201119:45Public\Common\Oak\Lib\Armv6\Checked
Flashmddcore.lib1,027,13214-Dec-201119:45Public\Common\Oak\Lib\Armv6\Checked
Flashpart.lib5,63814-Dec-201119:45Public\Common\Oak\Lib\Armv6\Checked
Flashmdd.lib2,78614-Dec-201119:45Public\Common\Oak\Lib\Armv6\Debug
Flashmddcore.lib1,170,85614-Dec-201119:45Public\Common\Oak\Lib\Armv6\Debug
Flashpart.lib5,63814-Dec-201119:45Public\Common\Oak\Lib\Armv6\Debug
Flashmdd.lib2,78614-Dec-201119:45Public\Common\Oak\Lib\Armv6\Retail
Flashmddcore.lib869,94014-Dec-201119:45Public\Common\Oak\Lib\Armv6\Retail
Flashpart.lib5,63814-Dec-201119:45Public\Common\Oak\Lib\Armv6\Retail
Flashmdd.lib2,78614-Dec-201119:48Public\Common\Oak\Lib\Armv7\Checked
Flashmddcore.lib1,025,83414-Dec-201119:48Public\Common\Oak\Lib\Armv7\Checked
Flashpart.lib5,63814-Dec-201119:48Public\Common\Oak\Lib\Armv7\Checked
Flashmdd.lib2,78614-Dec-201119:48Public\Common\Oak\Lib\Armv7\Debug
Flashmddcore.lib1,169,60214-Dec-201119:48Public\Common\Oak\Lib\Armv7\Debug
Flashpart.lib5,63814-Dec-201119:48Public\Common\Oak\Lib\Armv7\Debug
Flashmdd.lib2,78614-Dec-201119:48Public\Common\Oak\Lib\Armv7\Retail
Flashmddcore.lib868,71614-Dec-201119:48Public\Common\Oak\Lib\Armv7\Retail
Flashpart.lib5,63814-Dec-201119:48Public\Common\Oak\Lib\Armv7\Retail
Flashmdd.lib2,78614-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Checked
Flashmddcore.lib988,42814-Dec-201119:51Public\Common\Oak\Lib\Mipsii\Checked
Flashpart.lib5,63814-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Checked
Flashmdd.lib2,78614-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Debug
Flashmddcore.lib1,137,55014-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Debug
Flashpart.lib5,63814-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Debug
Flashmdd.lib2,78614-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Retail
Flashmddcore.lib832,35014-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Retail
Flashpart.lib5,63814-Dec-201119:50Public\Common\Oak\Lib\Mipsii\Retail
Flashmdd.lib2,78614-Dec-201119:52Public\Common\Oak\Lib\Mipsii_fp\Checked
Flashmddcore.lib989,16614-Dec-201119:53Public\Common\Oak\Lib\Mipsii_fp\Checked
Flashpart.lib5,63814-Dec-201119:52Public\Common\Oak\Lib\Mipsii_fp\Checked
Flashmdd.lib2,78614-Dec-201119:52Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashmddcore.lib1,138,28814-Dec-201119:53Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashpart.lib5,63814-Dec-201119:52Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashmdd.lib2,78614-Dec-201119:52Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashmddcore.lib833,04014-Dec-201119:53Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashpart.lib5,63814-Dec-201119:52Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashmdd.lib2,82014-Dec-201119:55Public\Common\Oak\Lib\Sh4\Checked
Flashmddcore.lib918,29414-Dec-201119:56Public\Common\Oak\Lib\Sh4\Checked
Flashpart.lib5,73214-Dec-201119:55Public\Common\Oak\Lib\Sh4\Checked
Flashmdd.lib2,82014-Dec-201119:55Public\Common\Oak\Lib\Sh4\Debug
Flashmddcore.lib1,038,00614-Dec-201119:55Public\Common\Oak\Lib\Sh4\Debug
Flashpart.lib5,73214-Dec-201119:55Public\Common\Oak\Lib\Sh4\Debug
Flashmdd.lib2,82014-Dec-201119:55Public\Common\Oak\Lib\Sh4\Retail
Flashmddcore.lib783,44814-Dec-201119:55Public\Common\Oak\Lib\Sh4\Retail
Flashpart.lib5,73214-Dec-201119:55Public\Common\Oak\Lib\Sh4\Retail
Flashmdd.lib2,82014-Dec-201119:57Public\Common\Oak\Lib\X86\Checked
Flashmddcore.lib906,22614-Dec-201119:58Public\Common\Oak\Lib\X86\Checked
Flashpart.lib5,73214-Dec-201119:57Public\Common\Oak\Lib\X86\Checked
Flashmdd.lib2,82014-Dec-201119:57Public\Common\Oak\Lib\X86\Debug
Flashmddcore.lib959,60814-Dec-201119:58Public\Common\Oak\Lib\X86\Debug
Flashpart.lib5,73214-Dec-201119:57Public\Common\Oak\Lib\X86\Debug
Flashmdd.lib2,82014-Dec-201119:57Public\Common\Oak\Lib\X86\Retail
Flashmddcore.lib753,57214-Dec-201119:57Public\Common\Oak\Lib\X86\Retail
Flashpart.lib5,73214-Dec-201119:57Public\Common\Oak\Lib\X86\Retail
Flashmdd.dll147,45614-Dec-201119:43Public\Common\Oak\Target\Armv5\Checked
Flashmdd.map135,40514-Dec-201119:43Public\Common\Oak\Target\Armv5\Checked
Flashmdd.rel42,68714-Dec-201119:43Public\Common\Oak\Target\Armv5\Checked
Flashpart.dll36,86414-Dec-201119:43Public\Common\Oak\Target\Armv5\Checked
Flashpart.map24,89914-Dec-201119:43Public\Common\Oak\Target\Armv5\Checked
Flashpart.rel7,74214-Dec-201119:43Public\Common\Oak\Target\Armv5\Checked
Flashmdd.dll233,47214-Dec-201119:42Public\Common\Oak\Target\Armv5\Debug
Flashmdd.map148,41714-Dec-201119:42Public\Common\Oak\Target\Armv5\Debug
Flashmdd.rel46,89214-Dec-201119:42Public\Common\Oak\Target\Armv5\Debug
Flashpart.dll45,05614-Dec-201119:43Public\Common\Oak\Target\Armv5\Debug
Flashpart.map26,02714-Dec-201119:43Public\Common\Oak\Target\Armv5\Debug
Flashpart.rel7,82914-Dec-201119:43Public\Common\Oak\Target\Armv5\Debug
Flashmdd.dll90,11214-Dec-201119:42Public\Common\Oak\Target\Armv5\Retail
Flashmdd.map68,35514-Dec-201119:42Public\Common\Oak\Target\Armv5\Retail
Flashmdd.rel28,70914-Dec-201119:42Public\Common\Oak\Target\Armv5\Retail
Flashpart.dll28,67214-Dec-201119:43Public\Common\Oak\Target\Armv5\Retail
Flashpart.map15,79314-Dec-201119:43Public\Common\Oak\Target\Armv5\Retail
Flashpart.rel5,97314-Dec-201119:43Public\Common\Oak\Target\Armv5\Retail
Flashmdd.dll147,45614-Dec-201119:45Public\Common\Oak\Target\Armv6\Checked
Flashmdd.map135,40514-Dec-201119:45Public\Common\Oak\Target\Armv6\Checked
Flashmdd.rel42,68714-Dec-201119:45Public\Common\Oak\Target\Armv6\Checked
Flashpart.dll36,86414-Dec-201119:45Public\Common\Oak\Target\Armv6\Checked
Flashpart.map24,89914-Dec-201119:45Public\Common\Oak\Target\Armv6\Checked
Flashpart.rel7,74214-Dec-201119:45Public\Common\Oak\Target\Armv6\Checked
Flashmdd.dll233,47214-Dec-201119:45Public\Common\Oak\Target\Armv6\Debug
Flashmdd.map148,41714-Dec-201119:45Public\Common\Oak\Target\Armv6\Debug
Flashmdd.rel46,89214-Dec-201119:45Public\Common\Oak\Target\Armv6\Debug
Flashpart.dll45,05614-Dec-201119:45Public\Common\Oak\Target\Armv6\Debug
Flashpart.map26,02714-Dec-201119:45Public\Common\Oak\Target\Armv6\Debug
Flashpart.rel7,82914-Dec-201119:45Public\Common\Oak\Target\Armv6\Debug
Flashmdd.dll90,11214-Dec-201119:45Public\Common\Oak\Target\Armv6\Retail
Flashmdd.map68,35514-Dec-201119:45Public\Common\Oak\Target\Armv6\Retail
Flashmdd.rel28,70914-Dec-201119:45Public\Common\Oak\Target\Armv6\Retail
Flashpart.dll28,67214-Dec-201119:45Public\Common\Oak\Target\Armv6\Retail
Flashpart.map15,79314-Dec-201119:45Public\Common\Oak\Target\Armv6\Retail
Flashpart.rel5,97314-Dec-201119:45Public\Common\Oak\Target\Armv6\Retail
Flashmdd.dll147,45614-Dec-201119:48Public\Common\Oak\Target\Armv7\Checked
Flashmdd.map135,40514-Dec-201119:48Public\Common\Oak\Target\Armv7\Checked
Flashmdd.rel42,68714-Dec-201119:48Public\Common\Oak\Target\Armv7\Checked
Flashpart.dll36,86414-Dec-201119:48Public\Common\Oak\Target\Armv7\Checked
Flashpart.map24,89914-Dec-201119:48Public\Common\Oak\Target\Armv7\Checked
Flashpart.rel7,74214-Dec-201119:48Public\Common\Oak\Target\Armv7\Checked
Flashmdd.dll233,47214-Dec-201119:48Public\Common\Oak\Target\Armv7\Debug
Flashmdd.map148,41714-Dec-201119:48Public\Common\Oak\Target\Armv7\Debug
Flashmdd.rel46,89214-Dec-201119:48Public\Common\Oak\Target\Armv7\Debug
Flashpart.dll45,05614-Dec-201119:48Public\Common\Oak\Target\Armv7\Debug
Flashpart.map26,02714-Dec-201119:48Public\Common\Oak\Target\Armv7\Debug
Flashpart.rel7,82914-Dec-201119:48Public\Common\Oak\Target\Armv7\Debug
Flashmdd.dll90,11214-Dec-201119:48Public\Common\Oak\Target\Armv7\Retail
Flashmdd.map68,35514-Dec-201119:48Public\Common\Oak\Target\Armv7\Retail
Flashmdd.rel28,70914-Dec-201119:48Public\Common\Oak\Target\Armv7\Retail
Flashpart.dll28,67214-Dec-201119:48Public\Common\Oak\Target\Armv7\Retail
Flashpart.map15,79314-Dec-201119:48Public\Common\Oak\Target\Armv7\Retail
Flashpart.rel5,97314-Dec-201119:48Public\Common\Oak\Target\Armv7\Retail
Flashmdd.dll184,32014-Dec-201119:50Public\Common\Oak\Target\Mipsii\Checked
Flashmdd.map134,46914-Dec-201119:50Public\Common\Oak\Target\Mipsii\Checked
Flashmdd.rel146,39114-Dec-201119:50Public\Common\Oak\Target\Mipsii\Checked
Flashpart.dll36,86414-Dec-201119:50Public\Common\Oak\Target\Mipsii\Checked
Flashpart.map24,32614-Dec-201119:50Public\Common\Oak\Target\Mipsii\Checked
Flashpart.rel20,00914-Dec-201119:50Public\Common\Oak\Target\Mipsii\Checked
Flashmdd.dll258,04814-Dec-201119:50Public\Common\Oak\Target\Mipsii\Debug
Flashmdd.map147,35314-Dec-201119:50Public\Common\Oak\Target\Mipsii\Debug
Flashmdd.rel205,26114-Dec-201119:50Public\Common\Oak\Target\Mipsii\Debug
Flashpart.dll45,05614-Dec-201119:50Public\Common\Oak\Target\Mipsii\Debug
Flashpart.map25,45414-Dec-201119:50Public\Common\Oak\Target\Mipsii\Debug
Flashpart.rel23,22814-Dec-201119:50Public\Common\Oak\Target\Mipsii\Debug
Flashmdd.dll114,68814-Dec-201119:50Public\Common\Oak\Target\Mipsii\Retail
Flashmdd.map67,52214-Dec-201119:50Public\Common\Oak\Target\Mipsii\Retail
Flashmdd.rel91,52314-Dec-201119:50Public\Common\Oak\Target\Mipsii\Retail
Flashpart.dll32,76814-Dec-201119:50Public\Common\Oak\Target\Mipsii\Retail
Flashpart.map15,22014-Dec-201119:50Public\Common\Oak\Target\Mipsii\Retail
Flashpart.rel14,64414-Dec-201119:50Public\Common\Oak\Target\Mipsii\Retail
Flashmdd.dll184,32014-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Checked
Flashmdd.map134,46914-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Checked
Flashmdd.rel146,39114-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Checked
Flashpart.dll36,86414-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Checked
Flashpart.map24,32614-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Checked
Flashpart.rel20,00914-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Checked
Flashmdd.dll258,04814-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Debug
Flashmdd.map147,35314-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Debug
Flashmdd.rel205,26114-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Debug
Flashpart.dll45,05614-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Debug
Flashpart.map25,45414-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Debug
Flashpart.rel23,22814-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Debug
Flashmdd.dll114,68814-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Retail
Flashmdd.map67,52214-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Retail
Flashmdd.rel91,52314-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Retail
Flashpart.dll32,76814-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Retail
Flashpart.map15,22014-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Retail
Flashpart.rel14,64414-Dec-201119:52Public\Common\Oak\Target\Mipsii_fp\Retail
Flashmdd.dll139,26414-Dec-201119:55Public\Common\Oak\Target\Sh4\Checked
Flashmdd.map134,85214-Dec-201119:55Public\Common\Oak\Target\Sh4\Checked
Flashmdd.rel66,46714-Dec-201119:55Public\Common\Oak\Target\Sh4\Checked
Flashpart.dll32,76814-Dec-201119:55Public\Common\Oak\Target\Sh4\Checked
Flashpart.map25,06814-Dec-201119:55Public\Common\Oak\Target\Sh4\Checked
Flashpart.rel10,58414-Dec-201119:55Public\Common\Oak\Target\Sh4\Checked
Flashmdd.dll192,51214-Dec-201119:55Public\Common\Oak\Target\Sh4\Debug
Flashmdd.map148,67714-Dec-201119:55Public\Common\Oak\Target\Sh4\Debug
Flashmdd.rel86,88314-Dec-201119:55Public\Common\Oak\Target\Sh4\Debug
Flashpart.dll40,96014-Dec-201119:55Public\Common\Oak\Target\Sh4\Debug
Flashpart.map26,19614-Dec-201119:55Public\Common\Oak\Target\Sh4\Debug
Flashpart.rel11,80214-Dec-201119:55Public\Common\Oak\Target\Sh4\Debug
Flashmdd.dll81,92014-Dec-201119:55Public\Common\Oak\Target\Sh4\Retail
Flashmdd.map67,58714-Dec-201119:55Public\Common\Oak\Target\Sh4\Retail
Flashmdd.rel51,35814-Dec-201119:55Public\Common\Oak\Target\Sh4\Retail
Flashpart.dll28,67214-Dec-201119:55Public\Common\Oak\Target\Sh4\Retail
Flashpart.map15,96214-Dec-201119:55Public\Common\Oak\Target\Sh4\Retail
Flashpart.rel8,75714-Dec-201119:55Public\Common\Oak\Target\Sh4\Retail
Flashmdd.dll118,78414-Dec-201119:57Public\Common\Oak\Target\X86\Checked
Flashmdd.map137,80714-Dec-201119:57Public\Common\Oak\Target\X86\Checked
Flashmdd.rel45,84814-Dec-201119:57Public\Common\Oak\Target\X86\Checked
Flashpart.dll28,67214-Dec-201119:57Public\Common\Oak\Target\X86\Checked
Flashpart.map24,67614-Dec-201119:57Public\Common\Oak\Target\X86\Checked
Flashpart.rel5,68314-Dec-201119:57Public\Common\Oak\Target\X86\Checked
Flashmdd.dll176,12814-Dec-201119:57Public\Common\Oak\Target\X86\Debug
Flashmdd.map147,45514-Dec-201119:57Public\Common\Oak\Target\X86\Debug
Flashmdd.rel56,57814-Dec-201119:57Public\Common\Oak\Target\X86\Debug
Flashpart.dll32,76814-Dec-201119:57Public\Common\Oak\Target\X86\Debug
Flashpart.map25,46014-Dec-201119:57Public\Common\Oak\Target\X86\Debug
Flashpart.rel6,26314-Dec-201119:57Public\Common\Oak\Target\X86\Debug
Flashmdd.dll69,63214-Dec-201119:57Public\Common\Oak\Target\X86\Retail
Flashmdd.map71,68814-Dec-201119:57Public\Common\Oak\Target\X86\Retail
Flashmdd.rel19,60314-Dec-201119:57Public\Common\Oak\Target\X86\Retail
Flashpart.dll20,48014-Dec-201119:57Public\Common\Oak\Target\X86\Retail
Flashpart.map15,57014-Dec-201119:57Public\Common\Oak\Target\X86\Retail
Flashpart.rel3,45014-Dec-201119:57Public\Common\Oak\Target\X86\Retail

MORE INFORMATION

If you encounter this issue on a Windows Embedded CE 6.0 R3-based device, install Windows Embedded CE 6.0 Monthly Update December 2011 from the following Microsoft Download Center website:
Windows Embedded CE 6.0 Monthly Update December 2011 (http://www.microsoft.com/download/en/search.aspx?q=Windows%20Embedded%20CE%206.0%20Monthly%20Update)
For more information about this issue on a Windows Embedded CE 6.0 R3-based device, click the following article number to view the article in the Microsoft Knowledge Base:
2632507  (http://support.microsoft.com/kb/2632507/ ) FIX: A "Data Abort" exception occurs on a Windows Embedded CE 6.0 R3-based device that uses the NAND flash partition driver

REFERENCES

For more information about how to create a partition, visit the following Microsoft Developer Network (MSDN) website:
CreatePartition (Windows Embedded Compact 7) (http://msdn.microsoft.com/en-us/library/ee489767.aspx)
For more information about how to obtain partition information, visit the following MSDN website:
IOCTL_FLASH_GET_PARTITION_TABLE (Windows Embedded Compact 7) (http://msdn.microsoft.com/en-us/library/ee482491.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 Compact 7
Keywords: 
kbqfe kbfix kbpubtypekc kbexpertiseinter KB2619270