0x117 de vérification des bogues : VIDEO_TDR_TIMEOUT_DETECTED

Le vidage dynamique VIDEO_TDR_TIMEOUT_DETECTED a une valeur de 0x00000117. Cela indique que le pilote d’affichage n’a pas pu répondre en temps voulu.

(Ce code ne peut jamais être utilisé pour un véritable bogue case activée ; il est utilisé pour identifier les vidages en direct.)

Important

Cet article s’adresse aux programmeurs. Si vous êtes un client qui a reçu un code d’erreur d’écran bleu lors de l’utilisation de votre ordinateur, consultez Résoudre les erreurs d’écran bleu.

paramètres VIDEO_TDR_TIMEOUT_DETECTED

Paramètre Description

1

Pointeur vers le contexte de récupération TDR interne, si disponible.

2

Pointeur vers le module pilote de périphérique responsable (par exemple, la balise propriétaire).

3

Clé de compartimentage spécifique au pilote secondaire.

4

Données dépendantes du contexte interne, si elles sont disponibles.

Cause

Un problème de stabilité courant dans les graphiques se produit lorsque le système apparaît complètement figé ou bloqué lors du traitement d’une commande ou d’une opération de l’utilisateur final. Généralement, le GPU est occupé à traiter des opérations graphiques intensives, généralement pendant le jeu. Aucune mise à jour de l’écran ne se produit et les utilisateurs supposent que leur système est gelé. Les utilisateurs attendent généralement quelques secondes, puis redémarrent le système en appuyant sur le bouton Marche/Arrêt. Windows tente de détecter ces situations problématiques de blocage et de récupérer dynamiquement un bureau réactif.

Ce processus de détection et de récupération est appelé Détection et récupération du délai d’expiration (TDR). Le délai d’attente par défaut est de 2 secondes. Dans le processus TDR pour les cartes vidéo, le planificateur GPU du système d’exploitation appelle la fonction DxgkDdiResetFromTimeout du pilote miniport d’affichage pour réinitialiser le pilote et réinitialiser le GPU.

Si le processus de récupération réussit, un message s’affiche, indiquant que le « pilote d’affichage a cessé de répondre et a récupéré ».

Pour plus d’informations, consultez Détection et récupération du délai d’expiration (TDR), Clés de Registre TDR et modifications TDR dans les Windows 8 qui se trouvent dans Détection et récupération du délai d’expiration (TDR).

Résolution

Le GPU prend plus de temps que ce qui est autorisé à afficher des graphiques sur votre moniteur. Ce comportement peut être dû à différentes raisons :

  • Vous devrez peut-être installer les dernières mises à jour pour votre pilote d’affichage afin qu’il prenne correctement en charge le processus TDR.
  • Problèmes matériels qui affectent la capacité du carte vidéo à fonctionner correctement, notamment :
    • Composants over-clocked, tels que la carte mère
    • Compatibilité et paramètres incorrects des composants (en particulier la configuration de la mémoire et les minutages)
    • Refroidissement insuffisant du système
    • Puissance système insuffisante
    • Pièces défectueuses (modules de mémoire, cartes mères, etc.)
  • Les effets visuels ou un trop grand nombre de programmes exécutés en arrière-plan peuvent ralentir votre PC de sorte que la vidéo carte ne puisse pas répondre si nécessaire.

L’extension de débogage !analyze affiche des informations sur le bogue case activée et peut être utile pour déterminer la cause racine.

3: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

VIDEO_TDR_TIMEOUT_DETECTED (117)
The display driver failed to respond in timely fashion.
(This code can never be used for a real bug check; it is used to identify live dumps.)
Arguments:
Arg1: 8975d500, Optional pointer to internal TDR recovery context (TDR_RECOVERY_CONTEXT).
Arg2: 9a02381e, The pointer into responsible device driver module (e.g owner tag).
Arg3: 00000000, The secondary driver specific bucketing key.
Arg4: 00000000, Optional internal context dependent data.

...

Le nom du module d’erreur s’affiche également.

MODULE_NAME: atikmpag

IMAGE_NAME:  atikmpag.sys

Vous pouvez utiliser la commande lmv pour afficher des informations sur le pilote en panne, y compris l’horodatage.

3: kd> lmvm atikmpag
Browse full module list
start    end        module name
9a01a000 9a09a000   atikmpag T (no symbols)           
    Loaded symbol image file: atikmpag.sys
    Image path: atikmpag.sys
    Image name: atikmpag.sys
    Browse all global symbols  functions  data
    Timestamp:        Fri Dec  6 12:20:32 2013 (52A23190)
    CheckSum:         0007E58A
    ImageSize:        00080000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4

Le paramètre 1 contient un pointeur vers le TDR_RECOVERY_CONTEXT.

3: kd> dt dxgkrnl!_TDR_RECOVERY_CONTEXT fffffa8010041010
   +0x000 Signature        : ??
   +0x004 pState           : ???? 
   +0x008 TimeoutReason    : ??
   +0x010 Tick             : _ULARGE_INTEGER
   +0x018 pAdapter         : ???? 
   +0x01c pVidSchContext   : ???? 
   +0x020 GPUTimeoutData   : _TDR_RECOVERY_GPU_DATA
   +0x038 CrtcTimeoutData  : _TDR_RECOVERY_CONTEXT::<unnamed-type-CrtcTimeoutData>
   +0x040 DbgOwnerTag      : ??
   +0x048 PrivateDbgInfo   : _TDR_DEBUG_REPORT_PRIVATE_INFO
   +0xae0 pDbgReport       : ???? 
   +0xae4 pDbgBuffer       : ???? 
   +0xae8 DbgBufferSize    : ??
   +0xaec pDumpBufferHelper : ???? 
   +0xaf0 pDbgInfoExtension : ???? 
   +0xaf4 pDbgBufferUpdatePrivateInfo : ???? 
   +0xaf8 ReferenceCount   : ??
Memory read error 10041b08

Le paramètre 2 contient un pointeur vers le module pilote de périphérique responsable (par exemple, la balise propriétaire).

BUGCHECK_P2: ffffffff9a02381e

Vous pouvez examiner la trace de pile à l’aide de la commande k, kb, kc, kd, kp, kP, kv (Display Stack Backtrace).

3: kd> k
 # ChildEBP RetAddr  
00 81d9ace0 976e605e dxgkrnl!TdrUpdateDbgReport+0x93 [d:\blue_gdr\windows\core\dxkernel\dxgkrnl\core\dxgtdr.cxx @ 944]
01 81d9acfc 976ddead dxgkrnl!TdrCollectDbgInfoStage2+0x195 [d:\blue_gdr\windows\core\dxkernel\dxgkrnl\core\dxgtdr.cxx @ 1759]
02 81d9ad24 976e664f dxgkrnl!DXGADAPTER::Reset+0x23f [d:\blue_gdr\windows\core\dxkernel\dxgkrnl\core\adapter.cxx @ 14972]
03 81d9ad3c 977be9e0 dxgkrnl!TdrResetFromTimeout+0x16 [d:\blue_gdr\windows\core\dxkernel\dxgkrnl\core\dxgtdr.cxx @ 2465]
04 81d9ad50 977b7518 dxgmms1!VidSchiRecoverFromTDR+0x13 [d:\blue_gdr\windows\core\dxkernel\dxgkrnl\dxgmms1\vidsch\vidscher.cxx @ 1018]
05 (Inline) -------- dxgmms1!VidSchiRun_PriorityTable+0xfa71
06 81d9ad70 812c01d4 dxgmms1!VidSchiWorkerThread+0xfaf2 [d:\blue_gdr\windows\core\dxkernel\dxgkrnl\dxgmms1\vidsch\vidschi.cxx @ 424]
07 81d9adb0 81325fb1 nt!PspSystemThreadStartup+0x58 [d:\blue_gdr\minkernel\ntos\ps\psexec.c @ 5884]
08 81d9adbc 00000000 nt!KiThreadStartup+0x15 [d:\blue_gdr\minkernel\ntos\ke\i386\threadbg.asm @ 81]

Vous pouvez également définir un point d’arrêt dans le code menant à ce code d’arrêt et tenter d’avancer de manière unique dans le code d’erreur, si vous pouvez reproduire le code d’arrêt de manière cohérente.

Pour plus d'informations, consultez les rubriques suivantes :

Analyse du vidage sur incident à l’aide des débogueurs Windows (WinDbg)

Si vous n’êtes pas équipé pour utiliser le débogueur Windows pour résoudre ce problème, vous pouvez utiliser certaines techniques de dépannage de base.

  • Vérifiez la observateur d'événements de connexion système pour obtenir des messages d’erreur supplémentaires susceptibles d’aider à identifier le périphérique ou le pilote à l’origine de ce bogue case activée.

  • Si un pilote est identifié dans un message de vérification d’erreur, désactivez-le ou contactez le fabricant pour obtenir les mises à jour.

  • Vérifiez que tous les logiciels liés aux graphismes tels que DirectX et OpenGL sont à jour et que toutes les applications gourmandes en graphismes (comme les jeux) sont entièrement corrigées.

  • Vérifiez 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 dans Windows 10 Spécifications.

  • Utilisation du mode sans échec

    Envisagez d’utiliser le mode sans échec pour isoler ce problème. L’utilisation du mode sans échec charge uniquement les pilotes et services système minimum requis au démarrage de Windows. Pour entrer en mode sans échec, utilisez Mise à jour et sécurité dans Paramètres. Sélectionnez Récupération-Démarrage>avancé pour démarrer en mode maintenance. Dans le menu résultant, choisissez Résoudre les problèmes-Options>avancées ->Paramètres de démarrage ->Redémarrer. Une fois Windows redémarré sur l’écran Paramètres de démarrage , sélectionnez l’option 4, 5 ou 6 pour démarrer en mode sans échec.

    Le mode sans échec peut être disponible en appuyant sur une touche de fonction au démarrage, par exemple F8. Reportez-vous aux informations du fabricant pour obtenir des options de démarrage spécifiques.

  • Exécutez l’outil Diagnostics 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. Une fois le test exécuté, utilisez l’Observateur 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.

  • Pour plus d’informations générales sur la résolution des problèmes, consultez Données écran bleu.

Remarques

Conditions de certification matérielle

Pour plus d’informations sur les exigences que les appareils matériels doivent respecter lorsqu’ils implémentent le TDR, consultez la documentation WHCK sur Device.Graphics... TDRResiliency.