A .NET Framework-based application that uses the XMLSerializer class stops responding when the application runs on an Asian version of Windows XP (903204)



The information in this article applies to:

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

When a Microsoft .NET Framework-based application tries to create an instance of the XMLSerializer class, the application stops responding. This symptom occurs if you try to run the application on a computer that is running an Asian version of Microsoft Windows XP.

Note This article pertains to a specific scenario in which this symptom occurs. There are other scenarios in which this symptom may also occur. For example, this symptom may occur when one process starts another process in non-Asian versions of Windows XP.

CAUSE

The XMLSerializer class performs dynamical compilation. During dynamical compilation, the Csc.exe process is started. In turn, the Csc.exe process starts the Conime.exe process on Asian versions of Windows XP.

The issue that is described in the "Symptoms" section occurs because of a deadlock condition in the Csc.exe process. Specifically, one thread (thread A) acquires a lock that is required by another thread (thread B). Therefore, thread B tries to start the Conime.exe process. By default, the Conime.exe process is loaded whenever a command prompt starts on Asian versions of Windows XP. Thread B waits 10 minutes while it tries to acquire the lock. After 10 minutes, this thread times out.

Note For more information, visit the following MSDN Web site:

RESOLUTION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
To resolve this issue, make sure that the Conime.exe process starts at the system startup. To do this, follow these steps:
  1. Click Start, click Run, type regedit in the Open box, and then click OK.
  2. Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

  3. In the right pane, right-click the blank space, and then click New. Click String Value, type conime as the name, and then press ENTER.
  4. Right-click conime, and then click Modify.
  5. In the Edit String dialog box, type %windir%\system32\conime.exe under Value data, and then click OK.
  6. Quit Registry Editor.

MORE INFORMATION

Input Method Editors (IMEs) are DLL files that let users type complex ideographic characters by using a standard keyboard. IMEs are available in Asian versions of Windows. IMEs simplify the process by which users enter text that contains characters from Unicode and double-byte character set (DBCS) formats. IMEs monitor the user's keystrokes, anticipate the character the user may want, and present a list of character options from which to select.

The problem that is described in the "Symptoms" section is known to occur in the following third-party programs:
  • Autodesk Inventor Series 10
  • Autodesk Inventor Professional 10
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.

Modification Type:MajorLast Reviewed:3/1/2006
Keywords:kb3rdparty kbtshoot kbprb KB903204 kbAudEndUser kbAudDeveloper