CORRECTIF : Une application basée sur.NET Framework 2.0 cesse de répondre sur un ordinateur qui dispose de plus de 32 processeurs et le.NET Framework 2.0 Service Pack 2 ou.NET Framework 3.5 Service Pack 1 est installé

S’applique à : .NET Framework 3.5 Service Pack 1

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 :Remarque 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 fichierVersion du fichierTaille du fichierDateHeurePlateforme
Mscorlib.dll2.0.50727.44744,550,65623-août-201010:57x86
Mscordacwks.dll2.0.50727.4474989,01623-août-201010:56x86
Mscorwks.dll2.0.50727.44745,819,72823-août-201010:57x86
Sos.dll2.0.50727.4474388,93623-août-201010:57x86
Pour toutes les versions basées sur les x64 de Windows Vista SP2 et Windows Server 2008 SP2
Nom du fichierVersion du fichierTaille du fichierDateHeurePlateforme
Mscorlib.dll2.0.50727.44744,567,04023-août-201010:56x64
Mscordacwks.dll2.0.50727.44741,758,55223-août-201010:56x64
Mscorwks.dll2.0.50727.447410,053,45623-août-201010:56x64
Sos.dll2.0.50727.4474485,19223-août-201010:56x64
Pour toutes les versions basés sur IA-64 prises en charge de Windows Server 2008 SP2
Nom du fichierVersion du fichierTaille du fichierDateHeurePlateforme
Mscorlib.dll2.0.50727.44744,009,98423-Aug-201010:57IA-64
Mscordacwks.dll2.0.50727.44743,085,14423-Aug-201010:57IA-64
Mscorwks.dll2.0.50727.447420,176,72023-Aug-201010:57IA-64
Sos.dll2.0.50727.4474872,77623-Aug-201010:57IA-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 fichierVersion du fichierTaille du fichierDateHeurePlateforme
Mscorlib.dll2.0.50727.50244,550,65621-Aug-201000:57x86
Mscordacwks.dll2.0.50727.5024995,67221-Aug-201000:57x86
Mscorwks.dll2.0.50727.50245,822,80021-Aug-201000:57x86
Sos.dll2.0.50727.5024388,93621-Aug-201000:58x86
Pour toutes les versions x64 prises en charge de Windows 7 et Windows Server 2008 R2
Nom du fichierVersion du fichierTaille du fichierDateHeurePlateforme
Mscorlib.dll2.0.50727.50244,567,04021-Aug-201000:59x64
Mscordacwks.dll2.0.50727.50241,755,48021-Aug-201000:59x64
Mscorwks.dll2.0.50727.502410,042,70421-Aug-201000:59x64
Sos.dll2.0.50727.5024485,19221-Aug-201000:59x64
Pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2
Nom du fichierVersion du fichierTaille du fichierDateHeurePlateforme
Mscorlib.dll2.0.50727.50244,009,98421-Aug-201000:17IA-64
Mscordacwks.dll2.0.50727.50243,082,07221-Aug-201000:17IA-64
Mscorwks.dll2.0.50727.502420,189,00821-Aug-201000:17IA-64
Sos.dll2.0.50727.5024872,77621-Aug-201000:17IA-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 fichierX86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
Version du fichierNon applicable
Taille du fichier544,632
Date (UTC)23-Aug-2010
Heure (UTC)18:02
Nom du fichierX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
Version du fichierNon applicable
Taille du fichier6,241
Date (UTC)23-Aug-2010
Heure (UTC)18:00
Nom du fichierX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
Version du fichierNon applicable
Taille du fichier25,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 fichierAmd64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_691e72fdc6d1a8f0.manifest
Version du fichierNon applicable
Taille du fichier607,386
Date (UTC)23-Aug-2010
Heure (UTC)18:10
Nom du fichierAmd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_cc8964d20c5a1948.manifest
Version du fichierNon applicable
Taille du fichier6,267
Date (UTC)23-Aug-2010
Heure (UTC)18:08
Nom du fichierAmd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_d3c541eb34590d75.manifest
Version du fichierNon applicable
Taille du fichier24,663
Date (UTC)23-Aug-2010
Heure (UTC)18:09
Nom du fichierX86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
Version du fichierNon applicable
Taille du fichier544,632
Date (UTC)23-Aug-2010
Heure (UTC)18:02
Nom du fichierX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
Version du fichierNon applicable
Taille du fichier6,241
Date (UTC)23-Aug-2010
Heure (UTC)18:00
Nom du fichierX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
Version du fichierNon applicable
Taille du fichier25,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 fichierIa64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cb8796db4e09da.manifest
Version du fichierNon applicable
Taille du fichier607,375
Date (UTC)23-Aug-2010
Heure (UTC)17:35
Nom du fichierIa64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_1436796b20d67a32.manifest
Version du fichierNon applicable
Taille du fichier6,257
Date (UTC)23-Aug-2010
Heure (UTC)17:33
Nom du fichierIa64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b72568448d56e5f.manifest
Version du fichierNon applicable
Taille du fichier24,611
Date (UTC)23-Aug-2010
Heure (UTC)17:34
Nom du fichierIa64_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04c12c14cb5647.manifest
Version du fichierNon applicable
Taille du fichier4,124
Date (UTC)23-Aug-2010
Heure (UTC)17:32
Nom du fichierX86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
Version du fichierNon applicable
Taille du fichier544,632
Date (UTC)23-Aug-2010
Heure (UTC)18:02
Nom du fichierX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
Version du fichierNon applicable
Taille du fichier6,241
Date (UTC)23-Aug-2010
Heure (UTC)18:00
Nom du fichierX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
Version du fichierNon applicable
Taille du fichier25,247
Date (UTC)23-Aug-2010
Heure (UTC)18:02
Nom du fichierX86_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04e36a14cb1e63.manifest
Version du fichierNon applicable
Taille du fichier4,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 fichierX86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
Version du fichierNon applicable
Taille du fichier331,675
Date (UTC)26-Aug-2010
Heure (UTC)19:13
Nom du fichierX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
Version du fichierNon applicable
Taille du fichier2,730
Date (UTC)26-Aug-2010
Heure (UTC)19:10
Nom du fichierX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
Version du fichierNon applicable
Taille du fichier6,923
Date (UTC)26-Aug-2010
Heure (UTC)19:12
Nom du fichierX86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
Version du fichierNon applicable
Taille du fichier2,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 fichierAmd64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_3dc2b17082d30918.manifest
Version du fichierNon applicable
Taille du fichier368,857
Date (UTC)26-Aug-2010
Heure (UTC)07:51
Nom du fichierAmd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_a12da344c85b7970.manifest
Version du fichierNon applicable
Taille du fichier2,738
Date (UTC)26-Aug-2010
Heure (UTC)07:47
Nom du fichierAmd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_a869805df05a6d9d.manifest
Version du fichierNon applicable
Taille du fichier6,927
Date (UTC)26-Aug-2010
Heure (UTC)07:50
Nom du fichierAmd64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_89fbeb05bc505585.manifest
Version du fichierNon applicable
Taille du fichier2,010
Date (UTC)26-Aug-2010
Heure (UTC)07:45
Nom du fichierX86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
Version du fichierNon applicable
Taille du fichier331,675
Date (UTC)26-Aug-2010
Heure (UTC)06:57
Nom du fichierX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
Version du fichierNon applicable
Taille du fichier2,730
Date (UTC)26-Aug-2010
Heure (UTC)06:53
Nom du fichierX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
Version du fichierNon applicable
Taille du fichier6,923
Date (UTC)26-Aug-2010
Heure (UTC)06:56
Nom du fichierX86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
Version du fichierNon applicable
Taille du fichier2,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 fichierIa64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fc609974f6a02.manifest
Version du fichierNon applicable
Taille du fichier368,856
Date (UTC)26-Aug-2010
Heure (UTC)07:48
Nom du fichierIa64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dab7dddcd7da5a.manifest
Version du fichierNon applicable
Taille du fichier2,737
Date (UTC)26-Aug-2010
Heure (UTC)07:44
Nom du fichierIa64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f01694f704d6ce87.manifest
Version du fichierNon applicable
Taille du fichier6,926
Date (UTC)26-Aug-2010
Heure (UTC)07:47
Nom du fichierIa64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a8ff9ed0ccb66f.manifest
Version du fichierNon applicable
Taille du fichier2,009
Date (UTC)26-Aug-2010
Heure (UTC)07:43
Nom du fichierX86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
Version du fichierNon applicable
Taille du fichier331,675
Date (UTC)26-Aug-2010
Heure (UTC)06:57
Nom du fichierX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
Version du fichierNon applicable
Taille du fichier2,730
Date (UTC)26-Aug-2010
Heure (UTC)06:53
Nom du fichierX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
Version du fichierNon applicable
Taille du fichier6,923
Date (UTC)26-Aug-2010
Heure (UTC)06:56
Nom du fichierX86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
Version du fichierNon applicable
Taille du fichier2,006
Date (UTC)26-Aug-2010
Heure (UTC)06:52