Symptômes
Prenons l’exemple du scénario suivant :
-
Vous avez le Microsoft.NET Framework 2.0 Service Pack 2 (SP2) ou le Microsoft.NET Framework 3.5 Service Pack 1 (SP1) installé sur un ordinateur qui dispose de plus de 32 processeurs.
-
Vous exécutez une application qui repose sur.NET Framework 2.0.
-
L’application appelle la classe ThreadPool .
-
L’application appelle également la fonction NtGetCurrentProcessorNumber pour obtenir le nombre réel de processeurs de l’ordinateur.
Dans ce scénario, l’application cesse de répondre. Si vous déboguez le problème, vous remarquez qu’un thread est en attente d’un indicateur dans la de mscorwks ! ThreadpoolMgr::RecycleMemory méthode.
Cause
Ce problème se produit car le nombre maximal de processeurs que le common language runtime (CLR) 2.0 peut signaler est 32. Toutefois, lorsque la fonction NtGetCurrentProcessorNumber Obtient le nombre de processeurs de l’ordinateur, et ce nombre est supérieur à 32 processeurs, la méthode ThreadpoolMgr::RecycleMemory entame une boucle infinie.
Résolution
Pour résoudre ce problème, appliquez ce correctif sur l’ordinateur sur lequel le.NET Framework 2.0 SP2 ou.NET Framework 3.5 SP1 est installé. Pour contourner ce problème, reportez-vous à la section « Contournement ».
Plus d’informations sur ce correctif
Informations sur le correctif logiciel
Un correctif pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est conçu pour résoudre uniquement le problème décrit dans cet article. Il s’applique uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n’êtes pas sérieusement concerné par ce problème, nous vous recommandons d’attendre le prochain service pack qui comprendra ce correctif. Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour obtenir une liste complète des numéros de téléphone des Services de Support technique Microsoft et des informations relatives aux frais de support technique, visitez le site Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=supportRemarque Dans certains cas, aucuns frais de support technique par téléphone ne vous sera facturé si un professionnel du support Microsoft détermine qu’une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes non directement liés à la mise à jour en question.
Conditions préalables
Vous devez disposer d’une des options suivantes pour appliquer ce correctif :
-
Microsoft .NET Framework 2.0 Service Pack 2 (SP2)
-
Microsoft.NET Framework 3.5 Service Pack 1 (SP1)
Informations sur le redémarrage
Vous devrez peut-être redémarrer l'ordinateur après avoir appliqué ce correctif.
Informations sur les fichiers
La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties en heure locale. Pour connaître le décalage entre l’heure UTC et l’heure locale, utilisez l’onglet Fuseau horaire dans l’élément Date et heure du Panneau de configuration.Remarque Pour des informations de fichiers supplémentaires, consultez la section « Informations complémentaires ».
Informations sur les fichiers Windows Vista et Windows Server 2008
Pour toutes les versions basées sur les x86 de Windows Vista SP2 et Windows Server 2008 SP2
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
Mscorlib.dll |
2.0.50727.4474 |
4,550,656 |
23-août-2010 |
10:57 |
x86 |
Mscordacwks.dll |
2.0.50727.4474 |
989,016 |
23-août-2010 |
10:56 |
x86 |
Mscorwks.dll |
2.0.50727.4474 |
5,819,728 |
23-août-2010 |
10:57 |
x86 |
Sos.dll |
2.0.50727.4474 |
388,936 |
23-août-2010 |
10:57 |
x86 |
Pour toutes les versions basées sur les x64 de Windows Vista SP2 et Windows Server 2008 SP2
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
Mscorlib.dll |
2.0.50727.4474 |
4,567,040 |
23-août-2010 |
10:56 |
x64 |
Mscordacwks.dll |
2.0.50727.4474 |
1,758,552 |
23-août-2010 |
10:56 |
x64 |
Mscorwks.dll |
2.0.50727.4474 |
10,053,456 |
23-août-2010 |
10:56 |
x64 |
Sos.dll |
2.0.50727.4474 |
485,192 |
23-août-2010 |
10:56 |
x64 |
Pour toutes les versions basés sur IA-64 prises en charge de Windows Server 2008 SP2
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
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 |
Informations sur les fichiers Windows 7 et Windows Server 2008 R2
Pour toutes les versions x86 prises en charge de Windows 7
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
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 |
Pour toutes les versions x64 prises en charge de Windows 7 et Windows Server 2008 R2
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
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 |
Pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Heure |
Plateforme |
---|---|---|---|---|---|
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 |
Solution de contournement
Pour contourner ce problème, appliquez l’une des méthodes suivantes.
Méthode 1
Mettre à niveau le.NET Framework pour Microsoft.NET Framework 4.0.
Méthode 2
Définir le masque d’affinité du processeur pour les 32 premiers processeurs à l’aide de la fonction SetProcessAffinityMask . Pour plus d’informations sur la fonction SetProcessAffinityMask , visitez le site Web Microsoft Developer Network (MSDN) suivant :
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Informations supplémentaires
Informations sur les fichiers supplémentaires pour Windows Vista et Windows Server 2008
Fichiers supplémentaires pour toutes les versions prises en charge x86-Windows Vista SP2 et Windows Server 2008 SP2
Nom du fichier |
X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
544,632 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:02 |
Nom du fichier |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,241 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:00 |
Nom du fichier |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
25,247 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:02 |
Fichiers supplémentaires pour toutes les versions prises en charge x64-Windows Vista SP2 et Windows Server 2008 SP2
Nom du fichier |
Amd64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_691e72fdc6d1a8f0.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
607,386 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:10 |
Nom du fichier |
Amd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_cc8964d20c5a1948.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,267 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:08 |
Nom du fichier |
Amd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_d3c541eb34590d75.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
24,663 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:09 |
Nom du fichier |
X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
544,632 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:02 |
Nom du fichier |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,241 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:00 |
Nom du fichier |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
25,247 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:02 |
Fichiers supplémentaires pour toutes les versions basés sur IA-64 prises en charge de Windows Server 2008 SP2
Nom du fichier |
Ia64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cb8796db4e09da.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
607,375 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
17:35 |
Nom du fichier |
Ia64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_1436796b20d67a32.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,257 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
17:33 |
Nom du fichier |
Ia64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b72568448d56e5f.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
24,611 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
17:34 |
Nom du fichier |
Ia64_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04c12c14cb5647.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
4,124 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
17:32 |
Nom du fichier |
X86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
544,632 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:02 |
Nom du fichier |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,241 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:00 |
Nom du fichier |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
25,247 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
18:02 |
Nom du fichier |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04e36a14cb1e63.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
4,115 |
Date (UTC) |
23-Aug-2010 |
Heure (UTC) |
17:59 |
Informations sur les fichiers supplémentaires pour Windows 7 et Windows Server 2008 R2
Fichiers supplémentaires pour toutes les versions x86 prises en charge de Windows 7
Nom du fichier |
X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
331,675 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
19:13 |
Nom du fichier |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,730 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
19:10 |
Nom du fichier |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,923 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
19:12 |
Nom du fichier |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,006 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
19:09 |
Fichiers supplémentaires pour toutes les versions 64 bits prises en charge de Windows 7 et Windows Server 2008 R2
Nom du fichier |
Amd64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_3dc2b17082d30918.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
368,857 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:51 |
Nom du fichier |
Amd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_a12da344c85b7970.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,738 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:47 |
Nom du fichier |
Amd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_a869805df05a6d9d.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,927 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:50 |
Nom du fichier |
Amd64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_89fbeb05bc505585.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,010 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:45 |
Nom du fichier |
X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
331,675 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:57 |
Nom du fichier |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,730 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:53 |
Nom du fichier |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,923 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:56 |
Nom du fichier |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,006 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:52 |
Fichiers supplémentaires pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2
Nom du fichier |
Ia64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fc609974f6a02.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
368,856 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:48 |
Nom du fichier |
Ia64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dab7dddcd7da5a.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,737 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:44 |
Nom du fichier |
Ia64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f01694f704d6ce87.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,926 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:47 |
Nom du fichier |
Ia64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a8ff9ed0ccb66f.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,009 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
07:43 |
Nom du fichier |
X86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
331,675 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:57 |
Nom du fichier |
X86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,730 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:53 |
Nom du fichier |
X86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
6,923 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:56 |
Nom du fichier |
X86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest |
Version du fichier |
Non applicable |
Taille du fichier |
2,006 |
Date (UTC) |
26-Aug-2010 |
Heure (UTC) |
06:52 |