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.
RESOLUTION
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:
- On the Build menu, click Clean.
- 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 "Applies to" 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