Microsoft KB Archive/843287

= FIX: Data that is stored on a FAT-based storage media may become corrupted when you read and verify two files at the same time on a Compact Flash card in Windows CE .NET 4.2 =

Article ID: 843287

Article Last Modified on 5/27/2005

-

APPLIES TO


 * Microsoft Windows CE .NET 4.2

-





SYMPTOMS
Data that is stored on a file allocation table (FAT)-based storage media may become corrupted when the FAT-based storage media is accessed by multiple threads at the same time. Multiple threads can be executed from one application or across multiple applications.

For example, when you read and verify two files on a Compact Flash (CF) card from two processes that are almost at the same time, the read data is sometimes destroyed.

User data that is stored on FAT-based storage media may become corrupted.



CAUSE
This problem occurs when two threads access the cache at the same time. The cache may be modified by the other thread if the critical section is not used.

This problem occurs when the cache is enabled by using Fatfsd.dll.



Hotfix information
A supported software update is now available from Microsoft as Windows CE .NET 4.20 Core OS QFE 843287. 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 hotfix is supported only if all previously issued hotfixes for this product have also been installed.

Restart requirement
After you install this hotfix, you must perform a clean build of the whole operating system. To perform a clean build of the operating system, follow these steps:
 * 1) On the Build menu, click Clean.
 * 2) On the Build menu, click Build Platform.

You do not have to restart your computer after you apply this hotfix.

Hotfix replacement information
This hotfix does not replace any other hotfixes.

File information
The English version of this hotfix has the file attributes (or later) 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 tool in Control Panel.   Date         Time   Version    Size       File name ---  09-Jul-2004  20:26  4.2.4.709  1,305,336  Wincepb42-040709-kb843287-armv4.exe 09-Jul-2004 20:25  4.2.4.709  1,309,432  Wincepb42-040709-kb843287-armv4i.exe 09-Jul-2004 20:26  4.2.4.709  1,346,296  Wincepb42-040709-kb843287-mipsii.exe 09-Jul-2004 20:26  4.2.4.709  1,346,296  Wincepb42-040709-kb843287-mipsii_fp.exe 09-Jul-2004 20:26  4.2.4.709  1,362,680  Wincepb42-040709-kb843287-mipsiv.exe 09-Jul-2004 20:26  4.2.4.709  1,362,680  Wincepb42-040709-kb843287-mipsiv_fp.exe 09-Jul-2004 20:26  4.2.4.709  1,252,088  Wincepb42-040709-kb843287-sh3.exe 09-Jul-2004 20:26  4.2.4.709  1,252,088  Wincepb42-040709-kb843287-sh4.exe 09-Jul-2004 20:25  4.2.4.709  1,153,784  Wincepb42-040709-kb843287-x86.exe The English version of this package has the file attributes (or later) that are listed in the following table. Date       Time    Version     Size    File name --

Path: Public\Common\Oak\Lib\ARMV4\Debug 30-Jun-2004    00:39                651,064    Fatfsd.lib 30-Jun-2004    00:39                 86,016    Fatfsd.pdb 30-Jun-2004    00:39              736,408  Tfat.lib 30-Jun-2004    00:39                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\ARMV4\Retail 30-Jun-2004    00:39                373,736    Fatfsd.lib 30-Jun-2004    00:39                 86,016    Fatfsd.pdb 30-Jun-2004    00:39                414,722    Tfat.lib 30-Jun-2004    00:39                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\ARMV4I\Debug 30-Jun-2004    00:39                651,736    Fatfsd.lib 30-Jun-2004    00:39                 86,016    Fatfsd.pdb 30-Jun-2004    00:39                737,198    Tfat.lib 30-Jun-2004    00:39                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\ARMV4I\Retail 30-Jun-2004    00:39                374,170    Fatfsd.lib 30-Jun-2004    00:39                 86,016    Fatfsd.pdb 30-Jun-2004    00:39                415,202    Tfat.lib 30-Jun-2004    00:39                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSII\Debug 30-Jun-2004    00:40                665,984    Fatfsd.lib 30-Jun-2004    00:40                 86,016    Fatfsd.pdb 30-Jun-2004    00:40                750,914    Tfat.lib 30-Jun-2004    00:40                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSII\Retail 30-Jun-2004    00:40                382,108    Fatfsd.lib 30-Jun-2004    00:40                 86,016    Fatfsd.pdb 30-Jun-2004    00:40                423,388    Tfat.lib 30-Jun-2004    00:40                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSII_FP\Debug 30-Jun-2004    00:40                666,128    Fatfsd.lib 30-Jun-2004    00:40                 86,016    Fatfsd.pdb 30-Jun-2004    00:40                751,004    Tfat.lib 30-Jun-2004    00:40                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSII_FP\Retail 30-Jun-2004    00:40                382,248    Fatfsd.lib 30-Jun-2004    00:40                 86,016    Fatfsd.pdb 30-Jun-2004    00:40                423,540    Tfat.lib 30-Jun-2004    00:40                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSIV\Debug 30-Jun-2004    00:41                674,342    Fatfsd.lib 30-Jun-2004    00:41                 86,016    Fatfsd.pdb 30-Jun-2004    00:41                761,180    Tfat.lib 30-Jun-2004    00:41                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSIV\Retail 30-Jun-2004    00:40                384,852    Fatfsd.lib 30-Jun-2004    00:40                 86,016    Fatfsd.pdb 30-Jun-2004    00:40                426,958    Tfat.lib 30-Jun-2004    00:40                 86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSIV_FP\Debug 30-Jun-2004    00:41                674,486    Fatfsd.lib 30-Jun-2004    00:41                 86,016    Fatfsd.pdb 30-Jun-2004    00:41              761,270  Tfat.lib 30-Jun-2004    00:41               86,016  Tfat.pdb

Path: Public\Common\Oak\Lib\MIPSIV_FP\Retail 30-Jun-2004    00:41            384,994    Fatfsd.lib 30-Jun-2004    00:41             86,016          Fatfsd.pdb 30-Jun-2004    00:41            427,108    Tfat.lib 30-Jun-2004    00:41             86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\SH3\Debug 30-Jun-2004    00:41            571,840    Fatfsd.lib 30-Jun-2004    00:41             86,016    Fatfsd.pdb 30-Jun-2004    00:42            644,526    Tfat.lib 30-Jun-2004    00:42             86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\SH3\Retail 30-Jun-2004    00:41            347,974          Fatfsd.lib 30-Jun-2004    00:41             86,016    Fatfsd.pdb 30-Jun-2004    00:41            384,522    Tfat.lib 30-Jun-2004    00:41             86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\SH4\Debug 30-Jun-2004    00:42            571,486    Fatfsd.lib 30-Jun-2004    00:42             86,016    Fatfsd.pdb 30-Jun-2004    00:42            644,146    Tfat.lib 30-Jun-2004    00:42             86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\SH4\Retail 30-Jun-2004    00:42            347,190    Fatfsd.lib 30-Jun-2004    00:42             86,016    Fatfsd.pdb 30-Jun-2004    00:42            383,698    Tfat.lib 30-Jun-2004    00:42             86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\X86\Debug 30-Jun-2004    00:38            558,166    Fatfsd.lib 30-Jun-2004    00:38             86,016    Fatfsd.pdb 30-Jun-2004    00:38            629,642    Tfat.lib 30-Jun-2004    00:38             86,016    Tfat.pdb

Path: Public\Common\Oak\Lib\X86\Retail 30-Jun-2004    00:38            308,296    Fatfsd.lib 30-Jun-2004    00:38             86,016    Fatfsd.pdb 30-Jun-2004    00:38            340,818    Tfat.lib 30-Jun-2004    00:38             86,016    Tfat.pdb



WORKAROUND
To work around this problem, turn off the cache. However, you may experience poor system performance with the cache turned off.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
For additional information, 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

Additional query words: FATFS CF corrupt

Keywords: kbbug kbfix kbqfe kbcorrupt kbopenfile KB843287

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.