Anwendungen bleiben bei zufällig ausgewählten Dateien hängen

Anwendungen bleiben bei zufällig ausgewählten Dateien hängen

Seit einigen Tagen kommt es bei mir auf meinem Windows 7-System täglich zu Anwendungseinfrierungen, mehrmals am Tag. Dieses System war 4 Jahre lang stabil, es passiert also etwas Neues.

Das Hauptsymptom war, dass Thunderbird beim Start einfror und unbrauchbar wurde. Ich dachte, es läge an einem Problem mit Thunderbird und erstellte schließlich ein neues Profil, da mein Profil über 10 Jahre alt ist.

Warum habe ich an das Profil gedacht? Weil ich festgestellt habe, dass ich einige .msfDateien nicht ohne Neustart löschen konnte. Beim Versuch, dies zu tun, fror der Explorer ein und musste neu gestartet werden.
Mit einem neuen Profil fror Thunderbird weiterhin ein, aber weniger häufig, sodass ich E-Mails lesen und eine schnelle Antwort verfassen konnte.

Gestern habe ich eine Datei mit gvim bearbeitet .hmtlund sie gleichzeitig in Firefox geladen, um mir das Ergebnis anzusehen.
Nach einer Stunde Arbeit fror es wieder ein. Jeder Prozess, der versuchte, die .hmtlDatei zu bearbeiten, wurde eingefroren. Sowohl das Beenden von Firefox als auch von gvim hat nicht geholfen.

Bei Verwendung des Process Explorers (NICHT als Administrator gestartet) konnte die .hmtlDatei mit der Handle-Suchfunktion nicht angezeigt werden. Handle.exe konnte dies auch nicht. Durch einen Neustart wird die Datei entsperrt, die nicht beschädigt ist. Ich habe chkdsk /Bmeine beiden Geräte ( C:ist eine SSD, D:ist eine HDD), da die .msfDatei darauf war D:und das .hmtldarauf war C:.

Ich vermutete, dass es an der Windows-Suche lag, und löschte deren Datenbank.
Ich versuchte, die Windows-Suche, mein Antivirenprogramm (Avast) und zwei als Dienst laufende Synchronisierungs-/Sicherungstools zu deaktivieren.

Es wurde keine Sperre aufgehoben.

Ich habe diese interessante Windbg-Verwendung gefunden:Hängender Prozess in Windows: Gibt es eine Möglichkeit herauszufinden, warum?

Ich habe den Thunderbird-Prozess angehängt, der derzeit einfriert, und jetzt sehe ich Folgendes:

FAULTING_IP: 
ntdll!DbgBreakPoint+0
00000000`7772cc90 cc              int     3

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000000007772cc90 (ntdll!DbgBreakPoint)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 0000000000000000

FAULTING_THREAD:  0000000000000000

BUGCHECK_STR:  HANG

PROCESS_NAME:  thunderbird.exe

ERROR_CODE: (NTSTATUS) 0xcfffffff - <Unable to get error code text>

EXCEPTION_CODE: (NTSTATUS) 0xcfffffff - <Unable to get error code text>

EXCEPTION_PARAMETER1:  0000000000000000

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

DERIVED_WAIT_CHAIN:  

Dl Eid Cid     WaitType
-- --- ------- --------------------------
   56  74c.1a04 Speculated (Triage)    -->
   0   74c.12b4 File IO                

WAIT_CHAIN_COMMAND:  ~56s;k;;~0s;k;;

BLOCKING_THREAD:  00000000000012b4

DEFAULT_BUCKET_ID:  APPLICATION_HANG_BlockedOn_FileIO

PRIMARY_PROBLEM_CLASS:  APPLICATION_HANG_BlockedOn_FileIO

LAST_CONTROL_TRANSFER:  from 00000000751dc1ff to 000000007772df0a

STACK_TEXT:  
00000000`0024ddd8 00000000`751dc1ff : 00000000`003becdc 00000000`003becf4 00000000`005847e0 

000000ba`00340201 : ntdll!ZwCreateFile+0xa
00000000`0024dde0 00000000`751cd18f : 00000000`003becdc 00000000`00000000 00000000`00000000 

00000000`00000060 : wow64!whNtCreateFile+0x10f
00000000`0024deb0 00000000`75152776 : 00000000`77360745 00000000`751c0023 00000000`00000246 

00000000`003bf2f8 : wow64!Wow64SystemServiceEx+0xd7
00000000`0024e770 00000000`751cd286 : 00000000`00000000 00000000`75151920 ffffffff`fc5f0000 

00000000`7770dfc1 : wow64cpu!TurboDispatchJumpAddressEnd+0x2d
00000000`0024e830 00000000`751cc69e : 00000000`00000000 00000000`00000000 00000000`751c4b10 

00000000`7ffe0030 : wow64!RunCpuSimulation+0xa
00000000`0024e880 00000000`777216a6 : 00000000`00584330 00000000`00000000 00000000`7780e670 

00000000`777e1950 : wow64!Wow64LdrpInitialize+0x42a
00000000`0024edd0 00000000`7777d150 : 00000000`00000000 00000000`77720db1 00000000`0024f380 

00000000`00000000 : ntdll!LdrpInitializeProcess+0x17e3
00000000`0024f2c0 00000000`7770b63e : 00000000`0024f380 00000000`00000000 00000000`fffdf000 

00000000`00000000 : ntdll! ?? ::FNODOBFM::`string'+0x25b20
00000000`0024f330 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 

00000000`00000000 : ntdll!LdrInitializeThunk+0xe


FOLLOWUP_IP: 
wow64!whNtCreateFile+10f
00000000`751dc1ff 448bd8          mov     r11d,eax

SYMBOL_STACK_INDEX:  1

SYMBOL_NAME:  wow64!whNtCreateFile+10f

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: wow64

IMAGE_NAME:  wow64.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  562593aa

STACK_COMMAND:  ~0s ; kb

BUCKET_ID:  X64_HANG_wow64!whNtCreateFile+10f

FAILURE_BUCKET_ID:  APPLICATION_HANG_BlockedOn_FileIO_cfffffff_wow64.dll!whNtCreateFile

WATSON_STAGEONE_URL:  http://watson.microsoft.com/0004cc90.htm?Retriage=1

Followup: MachineOwner
---------

Also, OK, ich war ziemlich überzeugt, dass Thunderbird einen IO blockiert, und jetzt ist es bestätigt. Laut API-Dokumentation kann dieser Aufruf das Öffnen einer vorhandenen Datei sein. Ich habe versucht, das Argument, das den Dateinamen angibt (soweit ich das verstehe), zu dumpen, indem ich zufällig mit diesem Befehl gespielt habe: „dt ntdll!_OBJECT_ATTRIBUTES 00000000`005847e0“, aber ich bin nicht vertraut mit Windbg und Aufrufkonventionen, also ist es mir bisher nicht gelungen, in die Struktur einzudringen.

Was kann ich also als nächstes tun?

EDIT:
Nachdem ich wie vorgeschlagen mein WinDbg auf die x86-Version geändert hatte, konnten meine Dumps analysiert werden.
Es gab keine Einfrierungen mehr, wie es immer passiert, wenn man sich auf ein Problem konzentriert: Es verschwindet kurz, um nicht gelöst zu werden, bis heute Nacht, als Canon DPP während einer Stapelverarbeitung von RAW-Dateien einfror.
Hier ist die Spur:

FAULTING_IP: 
ntdll!DbgBreakPoint+0
7736000c cc              int     3

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 7736000c (ntdll!DbgBreakPoint)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000

FAULTING_THREAD:  00000000

BUGCHECK_STR:  HANG

PROCESS_NAME:  DPPBatch.exe

ERROR_CODE: (NTSTATUS) 0xcfffffff - <Unable to get error code text>

EXCEPTION_CODE: (NTSTATUS) 0xcfffffff - <Unable to get error code text>

EXCEPTION_PARAMETER1:  00000000

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

DERIVED_WAIT_CHAIN:  

Dl Eid Cid     WaitType
-- --- ------- --------------------------
   1   1b88.1ff4 Speculated (Triage)    -->
   0   1b88.1948 File IO                

WAIT_CHAIN_COMMAND:  ~1s;k;;~0s;k;;

BLOCKING_THREAD:  00001948

DEFAULT_BUCKET_ID:  APPLICATION_HANG_BlockedOn_FileIO

PRIMARY_PROBLEM_CLASS:  APPLICATION_HANG_BlockedOn_FileIO

LAST_CONTROL_TRANSFER:  from 74e8c5fd to 77370106

STACK_TEXT:  
0018ed8c 74e8c5fd 0018ee28 80100080 0018edcc ntdll!ZwCreateFile+0x12
0018ee30 76e53f56 00000060 80100080 00000001 KERNELBASE!CreateFileW+0x35e
0018ee5c 76e553b4 0058e300 80000000 00000001 kernel32!CreateFileWImplementation+0x69
0018ee8c 100dbf8e 01f4ed98 80000000 00000001 kernel32!CreateFileA+0x37
WARNING: Stack unwind information not available. Following frames may be wrong.
0018eeb8 10002275 01f40000 00000000 10002294 DPPDLL!GNZ_getFilenameFromScriptFile+0x3e
0018eef8 0018ef7c 01f4ed98 00000000 0018ef7c DPPDLL!UCSCloseProfile+0xea5
0018eefc 01f4ed98 00000000 0018ef7c 01f4fc20 0x18ef7c
0018ef7c 00000000 00000000 00000000 00000000 0x1f4ed98
FOLLOWUP_IP: 
DPPDLL!GNZ_getFilenameFromScriptFile+3e
100dbf8e 8bf8            mov     edi,eax

SYMBOL_STACK_INDEX:  4

SYMBOL_NAME:  dppdll!GNZ_getFilenameFromScriptFile+3e

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: DPPDLL

IMAGE_NAME:  DPPDLL.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  52251a6c

STACK_COMMAND:  ~0s ; kb

BUCKET_ID:  HANG_dppdll!GNZ_getFilenameFromScriptFile+3e

FAILURE_BUCKET_ID:  APPLICATION_HANG_BlockedOn_FileIO_cfffffff_DPPDLL.dll!GNZ_getFilenameFromScriptFile

WATSON_STAGEONE_URL:  http://watson.microsoft.com/0001000c.htm?Retriage=1

Followup: MachineOwner
---------

Ich habe die entsprechende Datei problemlos auf meinem Laufwerk D: gefunden. D:\Sauvegarde\Tirages\photos\20151214 - totale D70\\GNZC0E116282C365.vbfSie hat den Prozess nach 2 Stunden Arbeit aufgehängt. Ich habe zu dieser Zeit den PC benutzt. Es sieht definitiv nach einer Beschädigung des Dateisystems oder einem Gerätetreiberfehler aus, also werde ich chkdsk erneut ausführen.
In der Zwischenzeit habe ich versucht, ProcessExplorer zu starten, um nach Prozessen zu suchen, die auf die Datei warten. Das hat funktioniert. Aber ich habe mich daran erinnert, dass es als Administrator gestartet werden sollte, also habe ich es geschlossen und mit der rechten Maustaste auf das Symbol geklickt und ... es hat ungefähr 5 Minuten gedauert, bis es angezeigt wurde (ich hatte nicht damit gerechnet, dass es angezeigt wird, es hat mich überrascht). Laut Process Explorer ist der blockierenden Datei erneut kein Handle zugeordnet (ich habe nach „vbf“ gesucht).

Nun, ich denke, meine Frage zum Debugger ist beantwortet (es gibt zwei Versionen von WinDbg) und mein Problem muss noch gelöst werden, aber ich bin nicht sicher, ob dies der richtige Ort ist, um Hilfe dazu zu bekommen.

verwandte Informationen