Fehlerüberprüfung 0x117: VIDEO_TDR_TIMEOUT_DETECTED

Das VIDEO_TDR_TIMEOUT_DETECTED-Live-Dump hat einen Wert von 0x00000117. Dies weist darauf hin, dass der Anzeigetreiber nicht rechtzeitig reagiert hat.

(Dieser Code kann niemals für eine echte Fehlerüberprüfung verwendet werden; er wird verwendet, um Live-Dumps zu identifizieren.)

Wichtig

Dieser Artikel richtet sich an Programmierer*innen. Wenn Sie ein/eine Kund*in sind, der/die einen Bluescreen-Fehlercode bei der Benutzung eines Computers erhalten hat, lesen Sie bitte Fehlerbehebung bei Bluescreen-Fehlern.

VIDEO_TDR_TIMEOUT_DETECTED-Parameter

Parameter Beschreibung

1

Der Zeiger zum internen TDR-Wiederherstellungskontext, falls verfügbar.

2

Ein Zeiger für das verantwortliche Gerätetreibermodul (z. B. das Besitzertag).

3

Der sekundäre treiberspezifische Bucketing-Schlüssel.

4

Interne kontextabhängige Daten, falls verfügbar.

Ursache

Ein gängiges Stabilitätsproblem in Grafiken tritt auf, wenn das System beim Verarbeiten eines Endbenutzerbefehls oder -vorgangs vollständig eingefroren oder aufgehängt erscheint. In der Regel ist die GPU mit der Verarbeitung intensiver Grafikvorgänge beschäftigt, üblicherweise während des Spielens. Es treten keine Bildschirmaktualisierungen auf, und Benutzer gehen davon aus, dass ihr System eingefroren ist. Benutzer warten in der Regel einige Sekunden, und starten das System dann neu, indem sie den Ein-/Aus-Schalter drücken. Windows versucht, diese problematischen Aufhängungen zu erkennen und einen reaktionsfähigen Desktop dynamisch wiederherzustellen.

Dieser Prozess der Erkennung und Wiederherstellung wird als Timeout Detection and Recovery (TDR) bezeichnet. Die Standardverzögerung beträgt 2 Sekunden. Im TDR-Prozess für Grafikkarten ruft der GPU-Scheduler des Betriebssystems die DxgkDdiResetFromTimeout-Funktion des Display-Miniporttreibers auf, um den Treiber neu zu initialisieren und die GPU zurückzusetzen.

Wenn der Wiederherstellungsvorgang erfolgreich ist, wird eine Meldung angezeigt, die angibt, dass der Anzeigetreiber nicht mehr reagiert und wiederhergestellt wurde.

Weitere Informationen finden Sie unter Timeout Detection and Recovery (TDR), TDR-Registrierungsschlüssel and TDR-Änderungen in Windows 8, die sich in Timeout Detection and Recovery (TDR) befinden

Lösung

Die GPU benötigt mehr Zeit als zulässig, um Grafiken auf Ihrem Monitor anzuzeigen. Dieses Verhalten kann aus einem oder mehreren der folgenden Gründe auftreten:

  • Möglicherweise müssen Sie die neuesten Updates für Ihren Anzeigetreiber installieren, damit er den TDR-Prozess ordnungsgemäß unterstützt.
  • Hardwareprobleme, die sich auf die Fähigkeit der Grafikkarte auswirken, ordnungsgemäß zu funktionieren, einschließlich:
    • Übertaktete Komponenten, z. B. das Motherboard
    • Falsche Komponentenkompatibilität und -einstellungen (insbesondere Speicherkonfiguration und Anzeigedauer)
    • Unzureichende Systemkühlung
    • Unzureichende Systemleistung
    • Defekte Teile (Speichermodule, Motherboards usw.)
  • Visuelle Effekte oder zu viele Programme, die im Hintergrund ausgeführt werden, verlangsamen ihren PC möglicherweise, sodass die Grafikkarte nicht nach Bedarf reagieren kann.

Die !analyze-Debugerweiterung zeigt Informationen zur Fehlerüberprüfung an und kann bei der Ermittlung der Ursache hilfreich sein.

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.

...

Außerdem wird der Name des fehlerhaften Moduls angezeigt.

MODULE_NAME: atikmpag

IMAGE_NAME:  atikmpag.sys

Sie können den lmv-Befehl verwenden, um Informationen zum fehlerhaften Treiber anzuzeigen, einschließlich des Zeitstempels.

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

Parameter 1 enthält einen Zeiger auf 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

Parameter 2 enthält einen Zeiger auf das verantwortliche Gerätetreibermodul (z. B. das Besitzertag).

BUGCHECK_P2: ffffffff9a02381e

Sie können die Stapelablaufverfolgung mit dem Befehl k, kb, kc, kd, kp, kP, kv (Display Stack Backtrace) untersuchen.

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]

Sie können auch einen Haltepunkt im Code festlegen, der zu diesem Stoppcode führt, und versuchen, einen einzelnen Schritt vorwärts in den fehlerhaften Code zu gehen, wenn Sie den Stoppcode konsistent reproduzieren können.

Weitere Informationen finden Sie in den folgenden Themen:

Absturzabbildanalyse mit den Windows-Debuggern (WinDbg)

Wenn Sie nicht mit dem Windows-Debugger für die Arbeit an diesem Problem ausgestattet sind, können Sie einige grundlegende Problembehandlungstechniken verwenden.

  • Überprüfen Sie das Systemprotokoll in der Ereignisanzeige auf weitere Fehlermeldungen, die Ihnen helfen könnten, das Gerät oder den Treiber zu identifizieren, das bzw. der die Fehlerüberprüfung verursacht.

  • Wenn in der Fehlerüberprüfungsmeldung ein Treiber angegeben ist, deaktivieren Sie den Treiber oder erkundigen Sie sich beim Hersteller nach Treiberupdates.

  • Stellen Sie sicher, dass sämtliche grafikbezogene Software wie DirectX und OpenGL auf dem neuesten Stand sind und alle grafikintensiven Anwendungen (z. B. Spiele) vollständig gepatcht sind.

  • Bestätigen Sie, dass die neu installierte Hardware mit der installierten Windows-Version kompatibel ist. Informationen zur benötigten Hardware finden Sie beispielsweise unter Windows 10-Spezifikationen.

  • Verwenden des abgesicherten Modus

    Erwägen Sie die Verwendung des abgesicherten Modus, um dieses Problem zu isolieren. Die Verwendung des abgesicherten Modus lädt nur die minimal erforderlichen Treiber und Systemdienste während des Windows-Starts. Um in den abgesicherten Modus zu wechseln, verwenden Sie Update" und "Sicherheit in den Einstellungen. Wählen Sie Wiederherstellung->Erweiterter Start aus, um mit dem Wartungsmodus zu starten. Wählen Sie im resultierenden Menü Problembehandlung->Erweiterte Optionen ->Starteinstellungen ->Neustart aus. Wählen Sie nach dem Neustart von Windows auf dem Bildschirm Starteinstellungen die Option 4, 5 oder 6 aus, um im abgesicherten Modus zu starten.

    Der abgesicherte Modus kann durch Drücken einer Funktionstaste beim Start verfügbar sein, z. B. F8. Informationen zu den spezifischen Startoptionen finden Sie in den Informationen des Herstellers.

  • Führen Sie das Windows-Speicherdiagnosetool aus, um den Arbeitsspeicher zu testen. Geben Sie im Suchfeld der Systemsteuerung Speicher ein, und wählen Sie dann Speicherprobleme Ihres Computers diagnostizieren aus. Nachdem der Test ausgeführt wurde, verwenden Sie die Ereignisanzeige, um die Ergebnisse im Systemprotokoll anzuzeigen. Suchen Sie nach dem Eintrag MemoryDiagnostics-Results, um die Ergebnisse anzuzeigen.

  • Sie können versuchen, die vom Systemhersteller bereitgestellte Hardwarediagnose auszuführen.

  • Weitere allgemeine Informationen zur Fehlerbehebung finden Sie unter Analysieren von Fehlerüberprüfungs-Bluescreen-Daten.

Hinweise

Hardwarezertifizierungsanforderungen

Informationen zu den Anforderungen, die Hardwaregeräte erfüllen müssen, wenn sie TDR implementieren, finden Sie in der WHCK-Dokumentation auf Device.Graphics... TDRResiliency.