FIX: An application that is based on the .NET Framework 2.0 stops responding on a computer that has more than 32 processors, and the .NET Framework 2.0 Service Pack 2 or the .NET Framework 3.5 Service Pack 1 is installed

Applies To
.NET Framework 3.5 Service Pack 1

Symptoms

Consider the following scenario:

  • You have the Microsoft .NET Framework 2.0 Service Pack 2 (SP2) or the Microsoft .NET Framework 3.5 Service Pack 1 (SP1) installed on a computer that has more than 32 processors.
  • You run an application that is based on the .NET Framework 2.0.
  • The application calls the ThreadPool class.
  • The application also calls the NtGetCurrentProcessorNumber function to obtain the actual number of processors in the computer.

In this scenario, the application stops responding. If you debug the problem, you notice that a thread is waiting for a flag in the mscorwks!ThreadpoolMgr::RecycleMemory method.

Cause

This problem occurs because the maximum number of processors that the common language runtime (CLR) 2.0 can report is 32. However, when the NtGetCurrentProcessorNumber function obtains the actual number of processors in the computer, and this number is greater than 32 processors, the ThreadpoolMgr::RecycleMemory method enters an infinite loop.

Resolution

To resolve this problem, apply this hotfix to the computer on which you have the .NET Framework 2.0 SP2 or the .NET Framework 3.5 SP1 installed. To work around this problem, see the "Workaround" section.

More information about this hotfix

Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem immediately, 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:

http:⁠//support.microsoft.com/contactus/?ws=support 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

You must have one of the following installed to apply this hotfix:

  • Microsoft .NET Framework 2.0 Service Pack 2 (SP2)
  • Microsoft .NET Framework 3.5 Service Pack 1 (SP1)

                
              

Restart information

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

File information

The English 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.

Note For additional file information, see the "More Information" section.

Windows Vista and Windows Server 2008 file information

For all supported x86-based versions of Windows Vista SP2 and Windows Server 2008 SP2

File name File version File size Date Time Platform
Mscorlib.dll 2.0.50727.4474 4,550,656 23-Aug- 2010 10:57 x86
Mscordacwks.dll 2.0.50727.4474 989,016 23-Aug- 2010 10:56 x86
Mscorwks.dll 2.0.50727.4474 5,819,728 23-Aug- 2010 10:57 x86
Sos.dll 2.0.50727.4474 388,936 23-Aug- 2010 10:57 x86

For all supported x64-based versions of Windows Vista SP2 and Windows Server 2008 SP2

File name File version File size Date Time Platform
Mscorlib.dll 2.0.50727.4474 4,567,040 23-Aug- 2010 10:56 x64
Mscordacwks.dll 2.0.50727.4474 1,758,552 23-Aug- 2010 10:56 x64
Mscorwks.dll 2.0.50727.4474 10,053,456 23-Aug- 2010 10:56 x64
Sos.dll 2.0.50727.4474 485,192 23-Aug- 2010 10:56 x64

For all supported IA-64-based versions of Windows Server 2008 SP2

File name File version File size Date Time Platform
Mscorlib.dll 2.0.50727.4474 4,009,984 23-Aug-2010 10:57 IA-64
Mscordacwks.dll 2.0.50727.4474 3,085,144 23-Aug-2010 10:57 IA-64
Mscorwks.dll 2.0.50727.4474 20,176,720 23-Aug-2010 10:57 IA-64
Sos.dll 2.0.50727.4474 872,776 23-Aug-2010 10:57 IA-64

Windows 7 and Windows Server 2008 R2 file information

For all supported x86-based versions of Windows 7

File name File version File size Date Time Platform
Mscorlib.dll 2.0.50727.5024 4,550,656 21-Aug-2010 00:57 x86
Mscordacwks.dll 2.0.50727.5024 995,672 21-Aug-2010 00:57 x86
Mscorwks.dll 2.0.50727.5024 5,822,800 21-Aug-2010 00:57 x86
Sos.dll 2.0.50727.5024 388,936 21-Aug-2010 00:58 x86

For all supported x64-based versions of Windows 7 and Windows Server 2008 R2

File name File version File size Date Time Platform
Mscorlib.dll 2.0.50727.5024 4,567,040 21-Aug-2010 00:59 x64
Mscordacwks.dll 2.0.50727.5024 1,755,480 21-Aug-2010 00:59 x64
Mscorwks.dll 2.0.50727.5024 10,042,704 21-Aug-2010 00:59 x64
Sos.dll 2.0.50727.5024 485,192 21-Aug-2010 00:59 x64

For all supported IA-64-based versions of Windows Server 2008 R2

File name File version File size Date Time Platform
Mscorlib.dll 2.0.50727.5024 4,009,984 21-Aug-2010 00:17 IA-64
Mscordacwks.dll 2.0.50727.5024 3,082,072 21-Aug-2010 00:17 IA-64
Mscorwks.dll 2.0.50727.5024 20,189,008 21-Aug-2010 00:17 IA-64
Sos.dll 2.0.50727.5024 872,776 21-Aug-2010 00:17 IA-64

Workaround

To work around this problem, use one of the following methods.

Method 1

Upgrade the .NET Framework to Microsoft .NET Framework 4.0.

Method 2

Set the processor affinity mask to the first 32 processors by using the SetProcessAffinityMask function. For more information about the SetProcessAffinityMask function, visit the following Microsoft Developer Network (MSDN) website:

SetProcessAffinityMask Function
          

Status

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

More Information

Additional file information for Windows Vista and for Windows Server 2008

Additional files for all supported x86-based versions of Windows Vista SP2 and of Windows Server 2008 SP2

File name X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
File version Not Applicable
File size 544,632
Date (UTC) 23-Aug-2010
Time (UTC) 18:02
File name X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
File version Not Applicable
File size 6,241
Date (UTC) 23-Aug-2010
Time (UTC) 18:00
File name X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
File version Not Applicable
File size 25,247
Date (UTC) 23-Aug-2010
Time (UTC) 18:02

Additional files for all supported x64-based versions of Windows Vista SP2 and of Windows Server 2008 SP2

File name Amd64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_691e72fdc6d1a8f0.manifest
File version Not Applicable
File size 607,386
Date (UTC) 23-Aug-2010
Time (UTC) 18:10
File name Amd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_cc8964d20c5a1948.manifest
File version Not Applicable
File size 6,267
Date (UTC) 23-Aug-2010
Time (UTC) 18:08
File name Amd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_d3c541eb34590d75.manifest
File version Not Applicable
File size 24,663
Date (UTC) 23-Aug-2010
Time (UTC) 18:09
File name X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
File version Not Applicable
File size 544,632
Date (UTC) 23-Aug-2010
Time (UTC) 18:02
File name X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
File version Not Applicable
File size 6,241
Date (UTC) 23-Aug-2010
Time (UTC) 18:00
File name X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
File version Not Applicable
File size 25,247
Date (UTC) 23-Aug-2010
Time (UTC) 18:02

Additional files for all supported IA-64-based versions of Windows Server 2008 SP2

File name Ia64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cb8796db4e09da.manifest
File version Not Applicable
File size 607,375
Date (UTC) 23-Aug-2010
Time (UTC) 17:35
File name Ia64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_1436796b20d67a32.manifest
File version Not Applicable
File size 6,257
Date (UTC) 23-Aug-2010
Time (UTC) 17:33
File name Ia64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b72568448d56e5f.manifest
File version Not Applicable
File size 24,611
Date (UTC) 23-Aug-2010
Time (UTC) 17:34
File name Ia64_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04c12c14cb5647.manifest
File version Not Applicable
File size 4,124
Date (UTC) 23-Aug-2010
Time (UTC) 17:32
File name X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
File version Not Applicable
File size 544,632
Date (UTC) 23-Aug-2010
Time (UTC) 18:02
File name X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
File version Not Applicable
File size 6,241
Date (UTC) 23-Aug-2010
Time (UTC) 18:00
File name X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
File version Not Applicable
File size 25,247
Date (UTC) 23-Aug-2010
Time (UTC) 18:02
File name X86_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04e36a14cb1e63.manifest
File version Not Applicable
File size 4,115
Date (UTC) 23-Aug-2010
Time (UTC) 17:59

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7

File name X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
File version Not Applicable
File size 331,675
Date (UTC) 26-Aug-2010
Time (UTC) 19:13
File name X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
File version Not Applicable
File size 2,730
Date (UTC) 26-Aug-2010
Time (UTC) 19:10
File name X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
File version Not Applicable
File size 6,923
Date (UTC) 26-Aug-2010
Time (UTC) 19:12
File name X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
File version Not Applicable
File size 2,006
Date (UTC) 26-Aug-2010
Time (UTC) 19:09

Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name Amd64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_3dc2b17082d30918.manifest
File version Not Applicable
File size 368,857
Date (UTC) 26-Aug-2010
Time (UTC) 07:51
File name Amd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_a12da344c85b7970.manifest
File version Not Applicable
File size 2,738
Date (UTC) 26-Aug-2010
Time (UTC) 07:47
File name Amd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_a869805df05a6d9d.manifest
File version Not Applicable
File size 6,927
Date (UTC) 26-Aug-2010
Time (UTC) 07:50
File name Amd64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_89fbeb05bc505585.manifest
File version Not Applicable
File size 2,010
Date (UTC) 26-Aug-2010
Time (UTC) 07:45
File name X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
File version Not Applicable
File size 331,675
Date (UTC) 26-Aug-2010
Time (UTC) 06:57
File name X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
File version Not Applicable
File size 2,730
Date (UTC) 26-Aug-2010
Time (UTC) 06:53
File name X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
File version Not Applicable
File size 6,923
Date (UTC) 26-Aug-2010
Time (UTC) 06:56
File name X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
File version Not Applicable
File size 2,006
Date (UTC) 26-Aug-2010
Time (UTC) 06:52

Additional files for all supported IA-64-based versions of Windows Server 2008 R2

File name Ia64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fc609974f6a02.manifest
File version Not Applicable
File size 368,856
Date (UTC) 26-Aug-2010
Time (UTC) 07:48
File name Ia64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dab7dddcd7da5a.manifest
File version Not Applicable
File size 2,737
Date (UTC) 26-Aug-2010
Time (UTC) 07:44
File name Ia64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f01694f704d6ce87.manifest
File version Not Applicable
File size 6,926
Date (UTC) 26-Aug-2010
Time (UTC) 07:47
File name Ia64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a8ff9ed0ccb66f.manifest
File version Not Applicable
File size 2,009
Date (UTC) 26-Aug-2010
Time (UTC) 07:43
File name X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
File version Not Applicable
File size 331,675
Date (UTC) 26-Aug-2010
Time (UTC) 06:57
File name X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
File version Not Applicable
File size 2,730
Date (UTC) 26-Aug-2010
Time (UTC) 06:53
File name X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
File version Not Applicable
File size 6,923
Date (UTC) 26-Aug-2010
Time (UTC) 06:56
File name X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
File version Not Applicable
File size 2,006
Date (UTC) 26-Aug-2010
Time (UTC) 06:52