Bug Check 0x117: VIDEO_TDR_TIMEOUT_DETECTED

Der VIDEO_TDR_TIMEOUT_DETECTED Livedumps hat den Wert 0x00000117. Dies gibt an, dass der Anzeigetreiber nicht rechtzeitig reagiert hat.

(Dieser Code kann niemals für eine echte Fehlerüberprüfung verwendet werden. Er wird verwendet, um Liveabbilder zu identifizieren.)

Wichtig

Dieser Artikel richtet sich an Programmierer. Wenn Sie ein Kunde sind, der während der Verwendung Ihres Computers einen Bluescreen-Fehlercode erhalten hat, finden Sie weitere Informationen unter Behandeln von Bluescreenfehlern.

VIDEO_TDR_TIMEOUT_DETECTED Parameter

Parameter BESCHREIBUNG

1

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

2

Ein Zeiger auf das zuständige Gerätetreibermodul (z. B. das Besitzertag).

3

Der sekundäre treiberspezifische Bucketingschlüssel.

4

Interne kontextabhängige Daten, falls verfügbar.

Ursache

Ein häufiges Stabilitätsproblem in Grafiken tritt auf, wenn das System während der Verarbeitung eines Endbenutzerbefehls oder -vorgangs vollständig fixiert oder aufgehängt erscheint. In der Regel ist die GPU damit beschäftigt, intensive Grafikvorgänge zu verarbeiten, in der Regel während des Spiels. Es werden keine Bildschirmupdates durchgeführt, und Benutzer gehen davon aus, dass ihr System eingefroren ist. Benutzer warten in der Regel einige Sekunden und starten das System dann durch Drücken des Netzschalters neu. Windows versucht, diese problematischen Hängenbleibensituationen zu erkennen und dynamisch einen reaktionsfähigen Desktop wiederherzustellen.

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

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

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

Lösung

Die GPU nimmt mehr Zeit in Anspruch, als für die Anzeige von Grafiken auf Ihrem Monitor zulässig ist. 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 Funktionsfähigkeit des Video-Karte auswirken, einschließlich:
    • Übertaktete Komponenten, z. B. die Hauptplatine
    • Falsche Komponentenkompatibilität und -einstellungen (insbesondere Speicherkonfiguration und -timings)
    • Unzureichende Systemkühlung
    • Unzureichende Systemleistung
    • Defekte Teile (Speichermodule, Motherboards usw.)
  • Visuelle Effekte oder zu viele Programme, die im Hintergrund ausgeführt werden, können Ihren PC verlangsamen, sodass die Video-Karte nicht bei Bedarf reagieren kann.

Die !analyze-Debugerweiterung zeigt Informationen zur Fehlerüberprüfung an und kann bei der Ermittlung der Grundursache 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 die 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 zuständige Gerätetreibermodul (z. B. das Besitzertag).

BUGCHECK_P2: ffffffff9a02381e

Sie können die Stapelüberwachung 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 führen, wenn Sie den Stoppcode konsistent reproduzieren können.

Weitere Informationen finden Sie in den folgenden Themen:

Absturzabbildanalyse mithilfe der Windows-Debugger (WinDbg)

Wenn Sie nicht in der Lage sind, den Windows-Debugger zu verwenden, um dieses Problem zu beheben, können Sie einige grundlegende Problembehandlungstechniken verwenden.

  • Überprüfen Sie die system log in Ereignisanzeige auf zusätzliche Fehlermeldungen, die bei der Identifizierung des Geräts oder Treibers helfen können, das bzw. den diese Fehlerprüfung verursacht.

  • Wenn in der Fehlerprüfungsmeldung ein Treiber angegeben ist, deaktivieren Sie ihn, oder wenden Sie sich an den Hersteller, um Treiberupdates anzufordern.

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

  • Vergewissern Sie sich, dass alle installierten neuen Hardwaregeräte mit der installierten Version von Windows kompatibel sind. Informationen zu erforderlicher 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 mindestens 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 Recovery-Advanced startup (Recovery-Advanced> startup) aus, um den 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 mit dem abgesicherten Modus zu starten.

    Der abgesicherte Modus kann durch Drücken einer Funktionstaste beim Start verfügbar sein, z. B. F8. Spezifische 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 Arbeitsspeicher 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 Problembehandlung finden Sie unter 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 unter Device.Graphics... TDRResiliency.