Sintomas
Considere o seguinte cenário:
-
Tem o Microsoft .NET Framework 2.0 Service Pack 2 (SP2) ou o Microsoft .NET Framework 3.5 Service Pack 1 (SP1) instalado num computador que tenha mais do que 32 processadores.
-
Executar uma aplicação baseada no .NET Framework 2.0.
-
A aplicação chamar a classe do conjunto de threads .
-
A aplicação também chama a função de NtGetCurrentProcessorNumber para obter o número real de processadores no computador.
Neste cenário, a aplicação deixa de responder. Se depurar o problema, repare que um thread está a aguardar um sinalizador a mscorwks de ! ThreadpoolMgr::RecycleMemory método.
Causa
Este problema ocorre porque o número máximo de processadores que possa reportar o common language runtime (CLR) 2.0 é 32. No entanto, quando a função NtGetCurrentProcessorNumber obtém o número real de processadores no computador e este número é maior do que 32 processadores, o método ThreadpoolMgr::RecycleMemory entra num ciclo infinito.
Resolução
Para resolver este problema, aplique esta correcção para o computador em que tiver o .NET Framework 2.0 SP2 ou o .NET Framework 3.5 SP1 instalado. Para contornar este problema, consulte a secção "Como contornar".
Obter mais informações sobre esta correcção
Informações sobre correção
Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack que contenha esta correcção. Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um Técnico de Suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas e questões de suporte adicionais que não sejam qualificáveis para a atualização específica em questão.
Pré-requisitos
Tem de ter um dos seguintes programas instalado para aplicar esta correcção:
-
Microsoft .NET Framework 2.0 Service Pack 2 (SP2)
-
Microsoft .NET Framework 3.5 Service Pack 1 (SP1)
Informações sobre reinício
Poderá ter de reiniciar o computador depois de aplicar esta correção.
Informações de ficheiro
A versão inglesa desta correção tem os atributos de ficheiro listados na tabela que se segue (ou atributos de ficheiro posteriores). As datas e horas destes ficheiros estão listadas no formato de Hora Universal Coordenada (UTC). Quando visualizar as informações dos ficheiros, estas serão convertidas na hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.Nota Para informações sobre ficheiros adicionais, consulte a secção "Mais informação".
Informações sobre os ficheiros do Windows Vista e Windows Server 2008
Para todas as versões baseadas em x86 do Windows Vista SP2 e Windows Server 2008 SP2
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Mscorlib.dll |
2.0.50727.4474 |
4,550,656 |
23-Ago-2010 |
10:57 |
x86 |
Mscordacwks.dll |
2.0.50727.4474 |
989,016 |
23-Ago-2010 |
10:56 |
x86 |
Mscorwks.dll |
2.0.50727.4474 |
5,819,728 |
23-Ago-2010 |
10:57 |
x86 |
Sos.dll |
2.0.50727.4474 |
388,936 |
23-Ago-2010 |
10:57 |
x86 |
Para todas as versões baseadas em x64 do Windows Vista SP2 e Windows Server 2008 SP2
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Mscorlib.dll |
2.0.50727.4474 |
4,567,040 |
23-Ago-2010 |
10:56 |
x64 |
Mscordacwks.dll |
2.0.50727.4474 |
1,758,552 |
23-Ago-2010 |
10:56 |
x64 |
Mscorwks.dll |
2.0.50727.4474 |
10,053,456 |
23-Ago-2010 |
10:56 |
x64 |
Sos.dll |
2.0.50727.4474 |
485,192 |
23-Ago-2010 |
10:56 |
x64 |
Para todas as versões baseadas em IA-64 suportadas do Windows Server 2008 SP2
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
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 |
Informações sobre os ficheiros do Windows 7 e Windows Server 2008 R2
Para todas as versões baseadas em x86 suportadas do Windows 7
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
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 |
Para todas as versões baseadas em x64 do Windows 7 e Windows Server 2008 R2 suportadas
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
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 |
Para todas as versões suportadas baseadas em IA-64 do Windows Server 2008 R2
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
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 |
Solução
Para contornar este problema, utilize um dos seguintes métodos.
Método 1
Actualize o .NET Framework para Microsoft .NET Framework 4.0.
Método 2
Defina a máscara de afinidade do processador para os primeiros 32 processadores utilizando a função SetProcessAffinityMask . Para mais informações sobre a função de SetProcessAffinityMask , visite o seguinte Web site da Microsoft Developer Network (MSDN):
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informações
Informações sobre ficheiros adicionais para o Windows Vista e Windows Server 2008
Ficheiros adicionais para todas as suportadas versões baseadas em x86 do Windows Vista SP2 e do Windows Server 2008 SP2
Nome do ficheiro |
X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
544,632 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:02 |
Nome do ficheiro |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,241 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:00 |
Nome do ficheiro |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
25,247 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:02 |
Ficheiros adicionais para todas as suportadas versões baseadas em x64 do Windows Vista SP2 e do Windows Server 2008 SP2
Nome do ficheiro |
Amd64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_691e72fdc6d1a8f0.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
607,386 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:10 |
Nome do ficheiro |
Amd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_cc8964d20c5a1948.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,267 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:08 |
Nome do ficheiro |
Amd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_d3c541eb34590d75.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
24,663 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:09 |
Nome do ficheiro |
X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
544,632 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:02 |
Nome do ficheiro |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,241 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:00 |
Nome do ficheiro |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
25,247 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:02 |
Ficheiros adicionais para todas as edições baseadas em IA-64 do Windows Server 2008 SP2
Nome do ficheiro |
Ia64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cb8796db4e09da.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
607,375 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
17:35 |
Nome do ficheiro |
Ia64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_1436796b20d67a32.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,257 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
17:33 |
Nome do ficheiro |
Ia64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b72568448d56e5f.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
24,611 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
17:34 |
Nome do ficheiro |
Ia64_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04c12c14cb5647.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
4,124 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
17:32 |
Nome do ficheiro |
X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
544,632 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:02 |
Nome do ficheiro |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,241 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:00 |
Nome do ficheiro |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
25,247 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
18:02 |
Nome do ficheiro |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04e36a14cb1e63.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
4,115 |
Data (UTC) |
23-Aug-2010 |
Hora (UTC) |
17:59 |
Informações sobre ficheiros adicionais para o Windows 7 e Windows Server 2008 R2
Ficheiros adicionais para todas as versões baseadas em x86 suportadas do Windows 7
Nome do ficheiro |
X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
331,675 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
19:13 |
Nome do ficheiro |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,730 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
19:10 |
Nome do ficheiro |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,923 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
19:12 |
Nome do ficheiro |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,006 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
19:09 |
Ficheiros adicionais para todas as suportadas versões baseadas em x64 do Windows 7 e do Windows Server 2008 R2
Nome do ficheiro |
Amd64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_3dc2b17082d30918.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
368,857 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:51 |
Nome do ficheiro |
Amd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_a12da344c85b7970.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,738 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:47 |
Nome do ficheiro |
Amd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_a869805df05a6d9d.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,927 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:50 |
Nome do ficheiro |
Amd64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_89fbeb05bc505585.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,010 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:45 |
Nome do ficheiro |
X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
331,675 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:57 |
Nome do ficheiro |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,730 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:53 |
Nome do ficheiro |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,923 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:56 |
Nome do ficheiro |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,006 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:52 |
Ficheiros adicionais para todas as versões baseadas em IA-64 do Windows Server 2008 R2 suportadas
Nome do ficheiro |
Ia64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fc609974f6a02.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
368,856 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:48 |
Nome do ficheiro |
Ia64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dab7dddcd7da5a.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,737 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:44 |
Nome do ficheiro |
Ia64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f01694f704d6ce87.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,926 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:47 |
Nome do ficheiro |
Ia64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a8ff9ed0ccb66f.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,009 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
07:43 |
Nome do ficheiro |
X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
331,675 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:57 |
Nome do ficheiro |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,730 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:53 |
Nome do ficheiro |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
6,923 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:56 |
Nome do ficheiro |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,006 |
Data (UTC) |
26-Aug-2010 |
Hora (UTC) |
06:52 |