FIX: A Windows CE 5.0-based device may stop responding when two or more applications access the RegSaveKey function and a GWES API function at the same time (918013)



The information in this article applies to:

  • Microsoft Windows CE 5.0

SYMPTOMS

A Microsoft Windows CE 5.0-based device may stop responding when you run two or more applications that call the RegSaveKey function and a Graphics, Windowing, and Events Subsystem (GWES) API function at the same time. Consider the following scenario:
  • You create a Windows CE 5.0-based application that calls the RegSaveKey function.
  • You create another Windows CE 5.0-based application that calls a function in the GWES API. For example, the application calls the CreateFontIndirectW function.
In this scenario, a deadlock condition may occur. When the deadlock condition occurs, the Windows CE 5.0-based device stops responding. You must complete a soft reset for the device.

CAUSE

This problem occurs because of a deadlock condition between the Filesys process and the GWES process:
  • The RegSaveKey function enters the registry critical section, and then calls the CloseHandle Filesys function.
  • The CloseHandle function calls the ReplNotify function.
  • The ReplNotify function calls into the GWES process and tries to enter the GWES critical section.
At the same time, another application calls a GWES API function that owns the GWES critical section. If the GWES API function tries to access the registry, this function cannot enter the registry critical section. The other application already owns the registry critical section. This behavior creates a deadlock condition between the Filesys process and the GWES process.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows CE 5.0 Core OS QFE 918013. 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 update is supported only if all previously issued updates for this product have also been applied.

Restart requirement

After you apply this update, you must perform a clean build of the whole platform. To clean the platform, click Clean on the Build menu. To build the platform, click Build Platform on the Build menu. You do not have to restart your computer after you apply this update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this package has the file attributes (or later file attributes) that are listed in the following table.
File nameFile sizeDateTime
Wincepb50-060503-kb918013-armv4i.msi431,61603-May-200623:55
Wincepb50-060503-kb918013-mipsii.msi435,20003-May-200623:55
Wincepb50-060503-kb918013-mipsii_fp.msi435,20003-May-200623:55
Wincepb50-060503-kb918013-mipsiv.msi435,71203-May-200623:55
Wincepb50-060503-kb918013-mipsiv_fp.msi435,71203-May-200623:55
Wincepb50-060503-kb918013-sh4.msi429,05603-May-200623:55
Wincepb50-060503-kb918013-x86.msi423,93603-May-200623:55
The English version of this update 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.
File nameFile sizeDateTimePath
Fsreplbit.lib63,45620-Apr-200618:26public\common\oak\lib\armv4i\debug
Fsreplbit.lib48,62020-Apr-200618:26public\common\oak\lib\armv4i\retail
Fsreplbit.lib71,46420-Apr-200618:26public\common\oak\lib\mipsii\debug
Fsreplbit.lib51,37420-Apr-200618:26public\common\oak\lib\mipsii\retail
Fsreplbit.lib71,47820-Apr-200618:26public\common\oak\lib\mipsii_fp\debug
Fsreplbit.lib51,39220-Apr-200618:26public\common\oak\lib\mipsii_fp\retail
Fsreplbit.lib72,61220-Apr-200618:26public\common\oak\lib\mipsiv\debug
Fsreplbit.lib51,22620-Apr-200618:26public\common\oak\lib\mipsiv\retail
Fsreplbit.lib72,62620-Apr-200618:26public\common\oak\lib\mipsiv_fp\debug
Fsreplbit.lib51,24420-Apr-200618:26public\common\oak\lib\mipsiv_fp\retail
Fsreplbit.lib54,69220-Apr-200618:26public\common\oak\lib\sh4\debug
Fsreplbit.lib43,65620-Apr-200618:26public\common\oak\lib\sh4\retail
Fsreplbit.lib54,15620-Apr-200618:26public\common\oak\lib\x86\debug
Fsreplbit.lib38,85220-Apr-200618:26public\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


Modification Type:MinorLast Reviewed:10/10/2006
Keywords:kbBug kbfix kbQFE kbpubtypekc KB918013 kbAudDeveloper kbAudOEM