Bug Check 0x109 : CRITICAL_STRUCTURE_CORRUPTION
Le bug check CRITICAL_STRUCTURE_CORRUPTION a une valeur de 0x00000109. Cela indique que le noyau a détecté une corruption critique du code ou des données du noyau.
Important
Cet article s’adresse aux programmeurs. Si vous êtes un client et que vous avez reçu ce code d’erreur d’écran bleu en utilisant votre ordinateur, consultez Résoudre les erreurs d’écran bleu.
Paramètres CRITICAL_STRUCTURE_CORRUPTION
Paramètre | Description |
---|---|
1 |
Reserved |
2 |
Reserved |
3 |
Reserved |
4 |
Le type de la région corrompue. (Veuillez consulter le tableau ci-dessous sur cette page). |
La valeur du Paramètre 4 indique le type de région corrompue.
Paramètre 4 | Type de région corrompue, type de corruption ou type d’action entreprise ayant causé la corruption |
---|---|
0x0 |
Une région de données générique |
0x1 |
Une modification de fonction |
0x2 |
Une table de dispatch d’interruption du processeur (IDT) |
0x3 |
Une table descripteur global du processeur (GDT) |
0x4 |
Une corruption de liste de processus de type 1 |
0x5 |
Une corruption de liste de processus de type 2 |
0x6 |
Une modification de routine de débogage |
0x7 |
Une modification critique de MSR |
0x8 |
Type d'objet |
0x9 |
Un IVT du processeur |
0xA |
Modification d’une fonction de service système |
0xB |
Une région de données de session générique |
0xC |
Modification d’une fonction de session ou .pdata |
0xD |
Modification d’une table d’importation |
0xE |
Modification d’une table d’importation de session |
0xF |
Modification d’un callout Ps Win32 |
0x10 |
Modification de routine de commutation de débogage |
0x11 |
Modification de l’allocation IRP |
0x12 |
Modification du dispatcher d’appel de pilote |
0x13 |
Modification du dispatcher de complétion IRP |
0x14 |
Modification de la désallocation IRP |
0x15 |
Un registre de contrôle du processeur |
0x16 |
Modification critique du registre de contrôle des points flottants |
0x17 |
Modification du Local APIC |
0x18 |
Modification d’un callout de notification du noyau |
0x19 |
Modification de la liste des modules chargés |
0x1A |
Corruption de liste de processus de type 3 |
0x1B |
Corruption de liste de processus de type 4 |
0x1C |
Corruption d’objet de pilote |
0x1D |
Modification d’objet de rappel exécutif |
0x1E |
Modification du padding des modules |
0x1F |
Modification d’un processus protégé |
0x20 |
Une région de données générique |
0x21 |
Une incompatibilité de hachage de page |
0x22 |
Une incompatibilité de hachage de page de session |
0x23 |
Modification du répertoire de configuration de chargement |
0x24 |
Modification de la table des fonctions inversées |
0x25 |
Modification de la configuration de session |
0x26 |
Un registre de contrôle étendu du processeur |
0x27 |
Corruption de pool de type 1 |
0x28 |
Corruption de pool de type 2 |
0x29 |
Corruption de pool de type 3 |
0x101 |
Corruption générale du pool |
0x102 |
Modification de win32k.sys |
Cause
Il existe généralement trois causes différentes pour ce bug check :
Un pilote a involontairement ou délibérément modifié du code ou des données critiques du noyau. Microsoft Windows Server 2003 avec Service Pack 1 (SP1) et les versions ultérieures de Windows pour ordinateurs x64 n’autorisent pas le patch du noyau, sauf via des hot patches autorisés par Microsoft.
Un développeur a tenté de définir un point d’arrêt normal du noyau en utilisant un débogueur noyau qui n’était pas attaché au démarrage du système. Les points d’arrêt normaux (bp) ne peuvent être définis que si le débogueur est attaché au moment du démarrage. Les points d’arrêt processeur (ba) peuvent être définis à tout moment.
Une corruption matérielle s’est produite. Par exemple, le code ou les données du noyau pourraient avoir été stockés dans une mémoire défectueuse.
Résolution
L'extension de débogage !analyze affiche des informations sur la vérification d'un bogue et peut être utile pour déterminer la cause racine.
Pour commencer, examinez la trace d’appels en utilisant la commande k, kb, kc, kd, kp, kP, kv (Afficher la trace d’appels). Vous pouvez spécifier le numéro du processeur pour examiner les piles sur tous les processeurs.
Vous pouvez également définir un point d’arrêt dans le code menant à ce code d’arrêt et essayer d’exécuter une étape à la fois dans le code défaillant.
Pour plus d'informations, consultez les rubriques suivantes :
Analyse des dumps de crash à l’aide des débogueurs Windows (WinDbg)
Si vous n’êtes pas équipé pour utiliser le débogueur Windows pour travailler sur ce problème, vous pouvez utiliser quelques techniques de dépannage de base.
Vérifiez le journal système dans le Visualisateur d’événements pour des messages d’erreur supplémentaires qui pourraient aider à identifier le périphérique ou le pilote qui cause ce bug check.
Si un pilote est identifié dans le message de bug check, désactivez le pilote ou vérifiez auprès du fabricant les mises à jour du pilote.
Exécutez l’outil de diagnostic de la mémoire Windows, pour tester la mémoire. Dans la zone de recherche du panneau de configuration, tapez Mémoire, puis sélectionnez Diagnostiquer les problèmes de mémoire de votre ordinateur. Après l’exécution du test, utilisez le Visualisateur d’événements pour afficher les résultats dans le journal Système. Recherchez l’entrée MemoryDiagnostics-Results pour afficher les résultats.
Vous pouvez essayer d’exécuter les diagnostics matériels fournis par le fabricant du système.
Confirmez que tout nouveau matériel installé est compatible avec la version installée de Windows. Par exemple, vous pouvez obtenir des informations sur le matériel requis sur les Spécifications de Windows 10.
Pour davantage d’informations concernant le dépannage, veuillez consulter la section Analyser les données d’écran bleu de vérification des bogues.