CORRECTIF : Vous recevez un message d’erreur 0x0000007e Stop sur un écran bleu lorsque l’attribut AppPoolCredentials est définie sur true et que vous utilisez un compte de domaine comme identité du pool d’applications dans IIS 7.0


Symptômes


Considérez le scénario suivant :
  • Vous avez une application Web qui s’exécute dans Internet Information Services (IIS) 7.0 sur un ordinateur Windows Vista ou sur un ordinateur Windows Server 2008.
  • Vous avez activée l’authentification à la fois l’authentification Windows et le Mode noyau.

    Remarque Il s’agit par défaut.
  • Vous avez useAppPoolCredentials attribut défini sur vrai dans la section authentification dans le fichier Applicationhost.config. Vous avez ajouté cet attribut pour permettre l’utilisation de l’authentification Kerberos lorsque vous utilisez un compte de domaine pour l’identité de pool d’applications. Par exemple, cet attribut doit être ajouté lorsque vous exécutez un site Microsoft Office SharePoint Server. La section authentification semblable à la suivante.

    <windowsAuthentication enabled="true" useKernelMode="true" useAppPoolCredentials="true"/>
    Remarque Le fichier Applicationhost.config se trouve dans le lecteur: \Windows\System32\inetsrv\config dossier.
Dans ce scénario, le système d’exploitation peut se bloquer. En outre, vous recevez un message d’erreur 0x0000007e Stop sur un écran bleu.

Remarque Ce problème produit généralement sur des serveurs Web qui hébergent Office SharePoint Server 2007. Ce problème se produit en raison de la configuration requise pour Office SharePoint Server 2007, lorsque l’authentification Kerberos est utilisée. Toutefois, le problème peut se produire pour tout type de site Web qui utilise un compte de domaine, l’authentification Kerberos et l’authentification du Mode noyau comme identité du pool d’application personnalisée.

Cause


Ce problème se produit en raison d’un bogue dans le pilote de mode noyau HTTP (HTTP.sys).

Résolution


Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être 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 la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

D'importants correctifs de Windows Vista et Windows Server 2008 sont inclus dans les mêmes packages. Toutefois, un seul de ces produits peut être répertorié dans la page demande de correctif « ». Pour demander le package de correctif qui s’applique à Windows Vista et Windows Server 2008, sélectionnez simplement le produit figurant sur la page.

Conditions préalables

Vous devez disposer de Windows Vista Service Pack 1 (SP1) ou Windows Server 2008 installé pour appliquer ce correctif.

Nécessite un redémarrage

Vous devez redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

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 dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.
IIS 7.0, x86
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Http.sys6.0.600 1.22375401,40812-Feb-200903:33x86
IIS 7.0, x64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Http.sys6.0.600 1.22375596,48012-Feb-200904:10x64
IIS 7.0, IA-64
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Http.sys6.0.600 1.223751,143,80812-Feb-200902:54IA-64

Solution de contournement


Pour contourner ce problème, désactivez l’authentification du Mode noyau à l’aide d’une des méthodes suivantes.

Méthode 1

La valeur de l’élément useKernelMode la valeur false dans la section windowsauthentication approprié dans le fichier ApplicationHost.config.
<windowsAuthentication enabled="true" useKernelMode="false"/>

Méthode 2

Désactiver l’authentification du Mode noyau à l’aide du Gestionnaire des services IIS. Pour ce faire, procédez comme suit :
  1. Cliquez sur Démarrer, sur exécuter, type
    inetmgr.exe, puis cliquez sur OK.
  2. Dans le Gestionnaire IIS, développez
    nom du serveur, développez sites Web, puis cliquez sur le site Web que vous souhaitez modifier.
  3. Double-cliquez sur l’authentificationet cliquez sur L’authentification Windows pour la mettre en surbrillance, puis cliquez sur Paramètres avancés dans le volet Actions.
  4. Cliquez pour décocher la case Activer l’authentification du mode noyau .
Après la désactivation de l’authentification du Mode noyau, vous devez redémarrer le service HTTP. Ceci va arrêter IIS. Exécutez les commandes suivantes à une invite de commandes avec élévation de privilèges.
  • NET STOP HTTP
  • NET START HTTP
  • IISRESET /START
Remarque Ces commandes seront arrête le service HTTP. Lorsque vous arrêtez le service HTTP, vous recevez un message d’avertissement que les services qui dépendent du service HTTP seront également arrêtés. Prenez soin de noter ces services dépendants afin que vous puissiez déterminer si vous souhaitez continuer et que vous pouvez les redémarrer une fois que vous redémarrez le service HTTP. Les services qui dépendent du service HTTP dépendent des rôles de Windows et des applications qui sont actuellement installées sur l’ordinateur.

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Sortie de pile

Si vous utilisez les outils de débogage pour Windows et le serveur de symboles Microsoft pour examiner le fichier de vidage de mémoire qui est créé après que l’incident se produit, vous remarquerez une pile d’appel semblable à la suivante :
Child-SP          RetAddr           Call Sitefffffa60`02ff5b58 fffff800`01ba3644 nt!KeBugCheckEx
fffffa60`02ff5b60 fffff800`01b60f71 nt!PspUnhandledExceptionInSystemThread+0x24
fffffa60`02ff5ba0 fffff800`018c87d8 nt!PspSystemThreadStartup+0x9e
fffffa60`02ff5bd0 fffff800`018c86bd nt!_C_specific_handler+0x8c
fffffa60`02ff5c40 fffff800`018cfcff nt!RtlpExecuteHandlerForException+0xd
fffffa60`02ff5c70 fffff800`0188cd83 nt!RtlDispatchException+0x22f
fffffa60`02ff6360 fffff800`018b51a9 nt!KiDispatchException+0xc3
fffffa60`02ff6960 fffff800`018b3fa5 nt!KiExceptionDispatch+0xa9
fffffa60`02ff6b40 00000000`00010005 nt!KiPageFault+0x1e5
fffffa60`02ff6cd8 fffffa60`0805129e 0x10005
fffffa60`02ff6ce0 fffff800`01ad7ff3 HTTP!UlpThreadPoolWorker+0x28e
fffffa60`02ff6d50 fffff800`018ef546 nt!PspSystemThreadStartup+0x57
fffffa60`02ff6d80 00000000`00000000 nt!KxStartSystemThread+0x16
Remarque La partie de la pile des appels qui indique que ce blocage du système se produit est HTTP ! UlpThreadPoolWorker.

Références