Folge 4 | Unterstützung bei Bluescreen 0x116

In meiner Blogreihe möchte ich euch an Hand von Praxis-Beispielen aufzeigen, wie man schnell und einfach Fehler beheben oder Lösungen aufzeigen kann.
Heute wollen wir uns mit einem Bluescreen 0x116 beschäftigen. Welche Fragen sind hier wichtig und wie finden wir effektiv und ohne viel Aufwand eine Möglichkeit Markus weiterzuhelfen?

Markus: Hallo Tom. Darf ich kurz deine Hilfe in Anspruch nehmen?
Tom: Hi Markus. Aber gern - worum geht es?
Markus: Mein Rechner startet gelegentlich einfach neu. Kurz zuvor kommt ein blauer Bildschirm mit weißer Schrift.
Tom: Okay - ein Bluescreen. Kannst du lesen was auf dem Bluescreen steht?
Markus: Nein, er ist zu schnell weg. Vor dem Bluescreen friert der Computer auch für eine kurze Zeit ein.
Tom: Hast du schon etwas unternommen? Wurde zuvor Software oder Updates installiert?
Markus: Ich habe bereits die Kurzdiagnose am System durchgeführt. Diese zeigte jedoch keine Fehler. Ich habe keine neue Software installiert und die Windows Updates werden automatisch installiert.
Tom: Und kannst du das Verhalten provozieren? Also den Bluescreen durch irgendwelche Aktionen hervorrufen.
Markus: Ich kann es nicht direkt nachvollziehen. Hauptsächlich habe ich den Bluescreen in Blender gesehen.
Tom: Okay, ich hole jetzt etwas aus, damit ich dir erkläre wie wir am schnellsten und effektivsten arbeiten. Windows erzeugt normalerweise Dateien, wenn solche Fehler auftreten. Wenn an den Systemeinstellungen nichts verändert wurde befinden sich diese unter c:\windows\minidumps. Diese sendest du mir bitte zu und dann finden wir bestimmt eine Lösung.
Markus: Also machen wir den Rest via Email.
Tom: Genau. Du wirst sehen, dass Problem klingt kompliziert, zu 95% können wir es aber recht zügig lösen.
Markus: Okay, dann bis später.
Tom: Bye.

Wie wir sehen, konnte das Gespräch relativ schnell abgeschlossen werden.
Einige Hintergrund-Informationen sind wichtig. Speziell die Information, dass Markus mit Blender, also einer 3D Software, arbeitet und die Diagnose bereits durchgeführt wurde.
Die Bluescreens sind eher sporadisch und nicht konkret nachvollziehbar, könnten also Lastabhängig zustande kommen.

Schauen wir uns als erstes die notwendigen Einstellungen an, damit die Bluescreens auch in eine Fehlerdatei (Dump) aufgenommen werden.
Dazu öffnen wir:
Systemsteuerung / System / erweiterte Systemeinstellungen / Erweitert und die letzte Einstellungs-Schaltfläche.



Unter Systemfehler finden wir:
  • Schreibe ein Ereignis in das Ereignisprotokoll: Schreibt ein Ereignis in die Ereignisanzeige
  • Automatischer Neustart: Sorgt dafür, dass nach dem Bluescreen ein Neustart durchgeführt wird.
  • Schreibe Debugging Informationen und darunter welche Art von Speicherabbild erstellt werden soll. Kleines Speicherabbild oder Kernelspeicherabbild. In der Regel sollte hier das kleine Speicherabbild ausreichen. Darunter befindet sich das Verzeichnis in welches die Dumps abgelegt werden und ob bereits existierende Dateien überschrieben werden sollen.
In der Zwischenzeit habe ich die Minidump Datei erhalten. Jetzt wird es interessant!

Ich uploade die Minidumpdatei auf: http://www.osronline.com/page.cfm?name=analyze
Nach ein paar Sekunden Wartezeit, bekommen wir unser Ergebnis:



Jetzt nicht erschrecken, dass sieht am Anfang alles sehr komplex aus. Es ist aber einfacher als man denkt.

Fangen wir an:

Die Betriebssystem Informationen finden wir in den folgenden Zeilen:
Windows 7 Kernel Version 7601 (Service Pack 1) MP (8 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.18205.x86fre.win7sp1_gdr.130708-1532
Es wird also Windows 7 SP1 verwendet. Patchlevel und Sprache sind für uns derzeit nicht interessant.

Ein paar Zeilen darunter finden wir den Fehlercode:
VIDEO_TDR_FAILURE (116)
und dazu direkt eine Beschreibung:
Attempt to reset the display driver and recover from timeout failed.
Grob interpretiert heißt dies, dass der Reset des Bildschirm/Grafikkartentreibers nach einem Zeitüberlauf fehlgeschlagen ist.
Erinnern wir uns kurz an die Aussage von Markus: "Vor dem Bluescreen friert der Computer auch für eine kurze Zeit ein." Das ist der Timeout, sprich der Treiber oder die Grafikkarte reagiert nicht mehr. Windows versucht den Videotreiber neu zu starten, da dies ebenfalls fehlschlägt erzeugt Windows einen Bluescreen um weitere Fehler oder Datenverlust zu verhindern - also ein Schutzmechanismus.

Prüfen wir, ob wir noch mehr Informationen aus dem Dump erhalten. Interessant dafür sind speziell die Zeilen:
SYMBOL_NAME:  nvlddmkm+df4de
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: nvlddmkm
IMAGE_NAME:  nvlddmkm.sys
Erfahrene wissen jetzt zumindest, dass in dem System eine NVidia Grafikkarte verbaut ist.
Wenn wir nicht lange überlegen wollen, geben wir den Dateinamen "nvlddmkm.sys" auch wieder bei Google ein und werden spätestens unter http://www.file.info/datei/nvlddmkm_sys.html fündig.

Finden wir noch mehr? Schließlich bietet uns http://www.osronline.com noch jede Menge an Punkten.



Unter Crash Code Links finden wir in diesem Fall einen Verweis auf http://msdn.microsoft.com/en-us/library/ff557263(v=3DVS.85).aspx. Allerdings sind dies Informationen die wir bereits haben. Weiterhin bietet man uns an, unter Google nach entsprechenden Hinweisen zu suchen.
Nützlich, da man hier von anderen Erfahrungen profitieren kann.

Die Loaded Module List zeigt uns an welche Treiber geladen und entladen sind. Interessant ist diese Liste auf jeden Fall, hier finden sich auch gern virtuelle Treiber von Applikationen - welche ja auch Fehler verursachen können.

Jetzt wird es kryptisch! Aber ich möchte es zwecks Vollständigkeit nicht unerwähnt lassen. Unter dem RAW Stack Content finden wir sehr viele Einträge - die meisten davon "leer". Hier finden Profis den Ablauf (die "Leerzeilen" habe ich entfernt) bis zum Bluescreen - nt!_except_handler4:

92ff5c38  94bf0a7c dxgmms1!VidSchiCheckHwProgress+0x68
92ff5c60  94bf119d dxgmms1!VidSchiWaitForSchedulerEvents+0x1b1
92ff5c9c  94bcd8f0 dxgmms1!VidSchiScheduleCommandToRun+0xaa
92ff5cb8  83423ba9 hal!KfLowerIrql+0x61
92ff5cc8  8342192d hal!KeReleaseQueuedSpinLock+0x2d
92ff5ccc  83084d46 nt!ExpReleaseResourceForThreadLite+0x3b1
92ff5cd0  83041b99 nt!KeGetCurrentThread
92ff5cfc  83041b00 nt!EtwTraceTimedEvent+0x12
92ff5d08  8308498e nt!ExReleaseResourceLite+0xf
92ff5d2c  94bf2501 dxgmms1!VidSchiRun_PriorityTable+0xf
92ff5d34  83041b99 nt!KeGetCurrentThread
92ff5d40  94bf25bd dxgmms1!VidSchiWorkerThread+0x7f
92ff5d54  8321412b nt!PspSystemThreadStartup+0x9e
92ff5d7c  83423ba9 hal!KfLowerIrql+0x61
92ff5d84  830cb6f0 nt!_except_handler4
92ff5d94  830bb559 nt!KiThreadStartup+0x19
92ff5d98  94bf253e dxgmms1!VidSchiWorkerThread
92ff5dc8  97b040df nvlddmkm+0x1020df

Die weiteren 2 Punkte "Dump Header Information" und "Strings" sind für uns nicht von Interesse, wir schenken diesen keine weitere Beachtung.

Benötigen wir weitere Informationen? Bemühen wir wieder unsere Suchmaschine mit dem Fehlercode 0x116. Nach ein paar Foreneinträgen, finden wir sogar etwas was wir gar nicht konkret gesucht hatten:
http://support.microsoft.com/kb/2665946 - "Display driver stopped responding and has recovered" error in Windows 7 or Windows Vista.
Und die darin beschriebenen Hinweise schlage ich Markus auch vor:
  • Bios Update
  • Videotreiberupdate
  • Fix It Tool von Microsoft
Leider stellte sich heraus, dass auch nach den Updates, sowie der Änderung durch das Fix it Tool von Microsoft, keine Besserung eintritt. Es wurde also notwendig die Grafikkarte zu tauschen, was den Fehler letztlich auch behob.

Der Text wirkt zwar recht komplex, aber Markus hatte in der Tat relativ wenig Aufwand.
Er meldete sich bei mir. Ein kurzes Gespräch mit einigen Hintergrundinformationen konnte einen Überblick verschaffen. Das Versenden der Minidumpdatei, sowie das Bios- und Treiberupdate sind in ca. 15 Minuten erledigt. Dank dem Next Business Day Service im Rahmen des ProSupports konnte ich den Service Einsatz für den nächsten Tag veranlassen.

Ich hoffe euch hat das Thema interessiert. Feedback und Kritik nehme ich natürlich gerne an.
Bis zum nächsten Mal,

Euer Tom