Arrêtez 7F, 0x00000008 erreur (double erreur) se produit en raison d’une erreur mon bit dans le registre ESP

Cet article fournit une solution à un 0x0000007F STOP, 0x00000008 message d’erreur sur votre ordinateur en raison d’une erreur de processeur spécifique. Ce message d’erreur peut s’afficher lorsqu’une erreur sur un seul bit se produit dans le registre ESP d’un processeur en cours d’exécution sur l’ordinateur.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 842465

Symptômes

Sur un ordinateur qui exécute un ou plusieurs processeurs Intel Xeon, ou qui exécute d’autres processeurs, Windows peut afficher un message d’erreur d’arrêt similaire à l’exemple suivant :

STOP 0x0000007F (0x00000008, 0x00000000, 0x00000000, 0x00000000) UNEXPECTED_KERNEL_MODE_TRAP

Lorsque ce problème se produit, les conditions suivantes sont remplies :

  • Le premier paramètre de l’erreur d’arrêt est « 0x0000008 ». (Cette erreur est une exception de double erreur.)
  • En raison d’une erreur mono bits dans la moitié supérieure du registre ESP, la valeur du registre ESP se trouve en dehors de la plage de pile du thread actuel.

Cause

Ce problème se produit si un ou plusieurs des processeurs de l’ordinateur :

  • Exiger une mise à jour de microcode qui n’est pas appliquée par le système d’entrée/sortie de base (BIOS) de l’ordinateur.

  • Sont endommagés ou défectueux.

  • Fonctionnent en dehors de leurs plages spécifiées pour la température, la puissance ou d’autres conditions.

Résolution

Pour résoudre ce problème, utilisez l’une des méthodes de résolution des problèmes suivantes.

Méthode 1 : Déterminer si le processeur exécute la révision de production de la mise à jour du microcode

Une mise à jour de microcode corrige les erreurs, ou bogues, dans la logique implémentée en interne d’un processeur. Les mises à jour de microcode ne peuvent pas être stockées définitivement dans le processeur lui-même et doivent être chargées dans le processeur chaque fois que l’ordinateur démarre. Les mises à jour de microcode peuvent être appliquées par le BIOS de l’ordinateur ou par le pilote Update.sys.

Pour identifier la révision de la mise à jour du microcode actuellement appliquée à un processeur Intel installé sur votre ordinateur, procédez comme suit :

  1. Téléchargez l’utilitaire d’identification du processeur Intel.

  2. Installez et exécutez l’utilitaire d’identification du processeur Intel sur l’ordinateur présentant des symptômes.

  3. Notez les informations processeur suivantes pour chaque processeur :

    • Famille d’UC
    • Modèle d’UC
    • Pas à pas de l’UC
    • Révision du processeur

    Les valeurs Famille d’UC, Modèle d’UC et Pas à pas de l’UC identifient le type spécifique de processeur. La valeur de révision du processeur identifie la révision de la mise à jour du microcode appliquée.

  4. Contactez le fabricant de votre ordinateur pour déterminer si la révision de la mise à jour du microcode est la révision la plus actuelle disponible pour un processeur particulier. Si la révision n’est pas la plus actuelle, demandez au fabricant de votre ordinateur un BIOS mis à jour qui appliquera la révision de mise à jour de microcode la plus actuelle.

Les symptômes décrits dans cet article ont été observés le plus fréquemment sur les processeurs Intel Xeon dont les valeurs de famille d’UC, de modèle d’UC et de pas à pas du processeur sont respectivement de 15, 2 et 9 et qui sont installés sur des cartes mères qui utilisent des circuits microprogrammés ServerWorks. (Les valeurs hexadécimales famille d’UC, modèle d’UC et pas à pas de l’UC sont respectivement F, 2 et 9.) Ces processeurs nécessitent une valeur de révision de 0x18 ou ultérieure pour fonctionner correctement. (0x18 équivaut à une valeur décimale de 24.)

La valeur de révision 0 indique que le BIOS de l’ordinateur n’a pas la mise à jour de microcode correcte pour les processeurs installés sur l’ordinateur. Vous devez mettre à jour le BIOS avec une révision de mise à jour du microcode qui prend en charge les processeurs que vous utilisez.

Intel vous recommande d’appliquer les dernières révisions de mise à jour du microcode pour éviter les problèmes connus.

Méthode 2 : Déterminer si un processeur est endommagé ou défectueux

Si la révision de mise à jour du microcode de production est appliquée aux processeurs installés sur les ordinateurs concernés et que les symptômes décrits dans cet article ne se produisent pas sur tous les ordinateurs du même modèle qui exécutent les mêmes processeurs, les processeurs peuvent être défectueux.

Pour déterminer si un processeur est endommagé ou défectueux, déplacez-le vers un ordinateur qui ne présente aucun symptôme.

Avertissement

Si vous changez de processeur, suivez les instructions fournies par le fabricant de votre ordinateur ou faites appel à des techniciens matériels qualifiés pour modifier les processeurs.

Si les symptômes continuent de se produire sur l’ordinateur d’origine avec le processeur de remplacement, mais pas sur l’autre ordinateur avec le processeur d’origine, le problème n’est probablement pas dû à un processeur endommagé ou défectueux.

Si les symptômes ne continuent pas de se produire sur l’ordinateur d’origine avec le processeur de remplacement, mais se produisent sur l’autre ordinateur avec le processeur d’origine, le problème est probablement dû à un processeur endommagé ou défectueux. Dans ce cas, contactez le fabricant de votre ordinateur pour remplacer le processeur d’origine.

Si l’ordinateur qui rencontre les symptômes décrits dans cet article a plusieurs processeurs, déplacez tous les processeurs vers l’autre ordinateur. Si les résultats indiquent qu’un ou plusieurs de ces processeurs peuvent être défectueux, déplacez les processeurs un à la fois pour déterminer le ou les processeurs qui peuvent être défectueux.

Méthode 3 : Déterminer si un processeur fonctionne en dehors d’une plage spécifiée de conditions environnementales

Une température ambiante excessive, une mauvaise ventilation ou une accumulation de poussière peuvent entraîner un comportement erratique des composants électroniques, tels que les processeurs. Les ventilateurs défectueux ou les passages d’air bloqués peuvent entraîner des problèmes de ventilation. Si l’intérieur ou les passages d’air de l’ordinateur sont poussiéreux, ou si l’ordinateur présente des symptômes lorsqu’il est installé uniquement à un endroit particulier, la surchauffe du système peut être un facteur. Assurez-vous que les composants sont propre, que les ventilateurs fonctionnent correctement et que les passages d’air ne sont pas obstrués. De plus, assurez-vous que la pièce où se trouve l’ordinateur est correctement aérée. La température de la pièce doit se trouver dans la plage de fonctionnement spécifiée par le fabricant de l’ordinateur.

Une tension supérieure ou inférieure à celle spécifiée, ou qui fluctue, peut entraîner un comportement erratique des processeurs et d’autres composants électroniques. Une tension d’alimentation incorrecte ou incohérente main, une alimentation surchargée ou incorrecte dans l’ordinateur ou un circuit de carte mère qui ne fonctionne pas correctement peuvent entraîner une tension incorrecte ou incohérente fournie au processeur. Contactez les techniciens appropriés pour vérifier si l’un de ces problèmes peut être la cause des symptômes.

Plus d’informations

Pour plus d’informations sur les erreurs stop 0x0000007F, consultez 0x0000007F Erreur d’arrêt sur un ordinateur Windows.

Le registre ESP est également appelé registre de pointeur de pile. Une pile est une structure de données en mémoire utilisée pour stocker des informations sur l’état actuel de l’exécution d’un thread. La pile d’un thread est utilisée pour suivre les appels de fonction en cours, les paramètres passés à ces fonctions et les variables utilisées par ces fonctions. La valeur du registre ESP est censée pointer vers le haut actuel de la pile. Si la valeur dans ESP est incorrecte, elle peut pointer vers des informations incorrectes ou une adresse non valide. Si la valeur dans ESP pointe vers une adresse non valide, une exception de double erreur peut se produire.

Pour déterminer si l’erreur d’arrêt est le résultat d’une erreur mono bits dans le registre ESP, procédez comme suit :

  1. Installez les outils de débogage Microsoft pour Windows.

  2. Exécutez l’outil WinDbg, sélectionnez Fichier, Ouvrir le vidage sur incident pour localiser le fichier de vidage mémoire qui contient les informations d’arrêt de l’erreur, puis sélectionnez OK.

  3. Exécutez la !analyze -v commande pour obtenir une analyse automatisée du fichier de vidage.

  4. Examinez la sortie de la !analyze -v commande pour voir si la sortie présente une condition de double erreur. S’il existe une condition de double erreur, exécutez la .tss 28 commande pour afficher l’état du système au moment de la double erreur. En règle générale, cette valeur est relativement proche de la valeur du registre EBP.

  5. Exécutez la !thread commande pour afficher la plage de pile du thread actuel. Une exception de double erreur se produit généralement lorsque la valeur du registre ESP est en dehors de la plage d’adresses réservées à la pile pour le thread actuel.

    Lorsque ce thread particulier est en cours d’exécution, la valeur de registre ESP doit toujours être comprise entre la valeur de base de la pile (f5d2a000) et la valeur limite (f5d27000). En règle générale, la valeur du registre ESP est relativement proche de la valeur Actuelle (f5d29c9c). (La valeur Actuelle se situe également entre la valeur de base de la pile et la valeur Limite.)

    Vous pouvez également case activée les valeurs de plage de pile en exécutant la !pcr commande .

    La NtTib.StackLimit valeur représente la limite inférieure de la plage de pile. La NtTib.StackBase valeur représente une valeur récente d’ESP. La NtTib.StackBase valeur peut être comparée à la valeur actuelle du registre ESP pour déterminer s’il existe une erreur à un seul bit dans la valeur de registre ESP actuelle.

  6. Exécutez la .formats esp ^ ebp commande pour afficher les différences de valeurs entre les registres ESP et EBP. La valeur du pointeur de pile dans le registre EBP est proche de la valeur du pointeur de pile dans le registre ESP, à l’exception de l’erreur mono bits. Cette commande révèle fréquemment le seul bit d’ordre élevé qui contient l’erreur, en particulier lorsque l’erreur est affichée au format binaire.

    Si vous ignorez les chiffres les plus bas et les moins significatifs, la différence de bits entre les registres ESP et EBP est de 00000000 0000010000000000000000000 au format binaire. La différence est de 00080000 au format hexadécimal.

    Cette erreur à un seul bit entraîne la contenir d’une valeur incorrecte dans le registre ESP. La valeur incorrecte provoque une exception de double erreur, un bogue case activée et un plantage du système.

Pour obtenir plus d’informations sur votre matériel spécifique, procédez comme suit :

  1. Utilisez la !cpuinfo commande pour obtenir des informations sur la version du processeur.

    Bien que la valeur De la signature de mise à jour ne soit pas toujours indiquée avec précision lorsque vous analysez un fichier de vidage sur incident, le champ Mettre à jour la signature indique généralement la révision de mise à jour du microcode appliquée au processeur.

  2. Utilisez la !pcitree commande pour rechercher les identificateurs de fournisseur et d’appareil (ID VenDev) pour les appareils PCI (Peripheral Connect Interface) existants.

    Pour chaque appareil PCI répertorié, la première valeur hexadécimale à 8 chiffres (DWORD) sur chaque ligne est l’ID VenDev. L’ID de fournisseur est en fait les 4 deuxièmes chiffres de cette valeur. Par exemple, le premier appareil répertorié a l’ID VenDev 0x00141166. L’ID de l’appareil est 0x0014 et l’ID de fournisseur est 0x1166. L’ID de fournisseur pour ServerWorks est 0x1166. Cette sortie provient donc d’un processeur installé sur une carte mère qui utilise les circuits microprogrammés ServerWorks.

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.