FIX: "Fatal Execution Engine Error" when you call the String.EndWith method in the .NET Framework 2.0 if the string parameter of the method begins with an expansion character


Symptoms


Consider the following scenario:
  • You run a Microsoft .NET Framework 2.0-based application that calls the String.EndWith method.
  • The string parameter of the method begins with an expansion character.

    For example, the string parameter begins with the ß character.
In this scenario, the common language runtime (CLR) may crash, and you receive a Fatal Execution Engine Error error message if the CLR crashes.

For example, a SQL Server service may terminate when the service calls the String.EndWith method.

Cause


This issue occurs because a pointer in the LastIndexOfString method is reset incorrectly.

When the String.EndWith method receives the parameter value that has the expansion character, the NativeCompareInfo::IsSuffix method of the Mscorwks.dll module is internally called and then the LastIndexOfString method is called. However, a pointer in the LastIndexOfString method is reset incorrectly. Therefore, the issue that is mentioned in the "Symptoms" section occurs.

Resolution


Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft website:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.


Prerequisites

To apply this hotfix, you must have the Microsoft .NET Framework 3.5.1 feature installed on a computer that is running one of the following operating systems:
  • Windows 7 Service Pack 1 (SP1)
  • Windows Server 2008 R2 Service Pack 1 (SP1)
Note The .NET Framework 3.5.1 feature contains the Microsoft .NET Framework 2.0 Service Pack 2 (SP2).

Restart requirement

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

File information

The global version of this hotfix 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.

For all supported x86-based versions of the .NET Framework 3.5.1 for Windows 7 SP1
File nameFile versionFile sizeDateTimePlatform
Big5.nlpNot Applicable66,72812-Nov-201023:43Not Applicable
Bopomofo.nlpNot Applicable82,17212-Nov-201023:43Not Applicable
Ksc.nlpNot Applicable116,75612-Nov-201023:45Not Applicable
Mscorlib.dll2.0.50727.56924,550,65631-Aug- 201100:23x86
Normidna.nlpNot Applicable59,34212-Nov-201023:45Not Applicable
Normnfc.nlpNot Applicable45,79412-Nov-201023:45Not Applicable
Normnfd.nlpNot Applicable39,28412-Nov-201023:45Not Applicable
Normnfkc.nlpNot Applicable66,38412-Nov-201023:45Not Applicable
Normnfkd.nlpNot Applicable60,29412-Nov-201023:45Not Applicable
Prc.nlpNot Applicable83,74812-Nov-201023:45Not Applicable
Prcp.nlpNot Applicable83,74812-Nov-201023:45Not Applicable
Sortkey.nlpNot Applicable262,14812-Nov-201023:45Not Applicable
Sorttbls.nlpNot Applicable20,32012-Nov-201023:45Not Applicable
Xjis.nlpNot Applicable28,28812-Nov-201023:45Not Applicable
Mscordacwks.dll2.0.50727.5692989,52831-Aug- 201100:23x86
Mscorwks.dll2.0.50727.56925,924,17631-Aug- 201100:23x86
Sos.dll2.0.50727.5692388,93631-Aug- 201100:23x86

For all supported x64-based versions of the .NET Framework 3.5.1 for Windows 7 SP1 or for Windows Server 2008 R2 SP1
File nameFile versionFile sizeDateTimePlatform
Big5.nlpNot Applicable66,72812-Nov-201023:43Not Applicable
Bopomofo.nlpNot Applicable82,17212-Nov-201023:43Not Applicable
Ksc.nlpNot Applicable116,75612-Nov-201023:44Not Applicable
Mscorlib.dll2.0.50727.56924,567,04031-Aug- 201100:19x64
Normidna.nlpNot Applicable59,34212-Nov-201023:44Not Applicable
Normnfc.nlpNot Applicable45,79412-Nov-201023:44Not Applicable
Normnfd.nlpNot Applicable39,28412-Nov-201023:44Not Applicable
Normnfkc.nlpNot Applicable66,38412-Nov-201023:44Not Applicable
Normnfkd.nlpNot Applicable60,29412-Nov-201023:44Not Applicable
Prc.nlpNot Applicable83,74812-Nov-201023:44Not Applicable
Prcp.nlpNot Applicable83,74812-Nov-201023:44Not Applicable
Sortkey.nlpNot Applicable262,14812-Nov-201023:44Not Applicable
Sorttbls.nlpNot Applicable20,32012-Nov-201023:44Not Applicable
Xjis.nlpNot Applicable28,28812-Nov-201023:44Not Applicable
Mscordacwks.dll2.0.50727.56921,755,48031-Aug- 201100:19x64
Mscorwks.dll2.0.50727.56929,990,99231-Aug- 201100:19x64
Sos.dll2.0.50727.5692485,19231-Aug- 201100:19x64

For all supported IA-64–based versions of the .NET Framework 3.5.1  for Windows Server 2008 R2 SP1

File nameFile versionFile sizeDateTimePlatform
Big5.nlpNot Applicable66,72812-Nov-201023:45Not Applicable
Bopomofo.nlpNot Applicable82,17212-Nov-201023:45Not Applicable
Ksc.nlpNot Applicable116,75612-Nov-201023:45Not Applicable
Mscorlib.dll2.0.50727.56924,009,98431-Aug-201100:09IA- 64
Normidna.nlpNot Applicable59,34212-Nov-201023:45Not Applicable
Normnfc.nlpNot Applicable45,79412-Nov-201023:45Not Applicable
Normnfd.nlpNot Applicable39,28412-Nov-201023:45Not Applicable
Normnfkc.nlpNot Applicable66,38412-Nov-201023:45Not Applicable
Normnfkd.nlpNot Applicable60,29412-Nov-201023:45Not Applicable
Prc.nlpNot Applicable83,74812-Nov-201023:45Not Applicable
Prcp.nlpNot Applicable83,74812-Nov-201023:45Not Applicable
Sortkey.nlpNot Applicable262,14812-Nov-201023:45Not Applicable
Sorttbls.nlpNot Applicable20,32012-Nov-201023:45Not Applicable
Xjis.nlpNot Applicable28,28812-Nov-201023:46Not Applicable
Mscordacwks.dll2.0.50727.56923,082,58431-Aug-201100:09IA- 64
Mscorwks.dll2.0.50727.569220,342,09631-Aug-201100:09IA- 64
Sos.dll2.0.50727.5692872,77631-Aug-201100:09IA-64



Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.