CORRECÇÃO: Uma aplicação baseada no .NET Framework 2.0 deixa de responder num computador que tenha mais do que 32 processadores e o .NET Framework 2.0 Service Pack 2 ou o .NET Framework 3.5 Service Pack 1 está instalado

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):

Função de SetProcessAffinityMask

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

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×