DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
[COLOR="#FF0000"]Arg2: ffffab83ed1ec670, Physical Device Object of the stack[/COLOR]
Arg3: ffff90818acb78f0, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
[COLOR="#FF0000"]Arg4: ffffab83ef37b690, The blocked IRP[/COLOR]
[COLOR="#008000"]Die beiden rot markierten Argumente werde ich später zum Debuggen benutzen[/COLOR]
.....
MODULE_NAME: ACPI
FAULTING_MODULE: fffff80efd540000 ACPI
[COLOR="#FF0000"]FAILURE_BUCKET_ID: 0x9F_3_i8042prt_IMAGE_ACPI.sys[/COLOR]
BUCKET_ID: 0x9F_3_i8042prt_IMAGE_ACPI.sys
[COLOR="#008000"]Der Treiber ACPI.Sys hat in Verbindung mit 18042prt.sys der Stoppfehler ausgelöst.[/COLOR]
.....
2: kd> !thread
.....
ffff9081`8acb7c60 00000000`00000000 : ffff9081`8acb8000 ffff9081`8acb2000 00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x5a
[COLOR="#008000"]Der letzte aktive Thread gibt nicht viel bekannt, nur dass das System im IDLE ist und nicht aufwacht.[/COLOR]
....
[COLOR="#008000"]Mit Arg2 das DeviceObject abfragen[/COLOR]
2: kd> !devobj ffffab83ed1ec670
Device object (ffffab83ed1ec670) is for:
Cannot read info offset from nt!ObpInfoMaskToOffset
\Driver\ACPI DriverObject ffffab83ebed0450
[COLOR="#008000"]Das GeräteObjekt wird vom Treiber ACPI.sys bedient.[/COLOR]
Current Irp 00000000 RefCount 1 Type 00000032 Flags 00003040
SecurityDescriptor ffffcf06cf337390 DevExt ffffab83ed0fd010 DevObjExt ffffab83ed1ec7c0 DevNode ffffab83ed1e9d30
ExtensionFlags (0x00000800) DOE_DEFAULT_SD_PRESENT
Characteristics (0x00000080) FILE_AUTOGENERATED_DEVICE_NAME
AttachedDevice (Upper) ffffab83f009d2b0 \Driver\i8042prt
Device queue is not busy.
.....
2: kd> !drvobj \Driver\i8042prt
fffff803ccfd2b20: Unable to get value of ObpRootDirectoryObject
Driver object \Driver\i8042prt not found
[COLOR="#008000"]Mit drvobj und der AttachedDevice kann man abfragen, warum der Treiber nicht funktioniert.
Der Treiber selbst ist zwar vorhanden aber auf die Funktion "ObpRootDirectoryObject" kann nicht zugegriffen werden.[/COLOR]
....
[COLOR="#008000"]Jetzt mit Arg4 den blockierten IRP ermitteln.[/COLOR]
2: kd> !irp ffffab83ef37b690
Irp is active with 8 stacks 6 is current (= 0xffffab83ef37b8c8)
No Mdl: No System Buffer: Thread 00000000: Irp stack trace. Pending has been returned
cmd flg cl Device File Completion-Context
......
[IRP_MJ_POWER(16), IRP_MN_WAIT_WAKE(0)] 0 0 ffffab83ed1ec670 00000000 fffff80f01991800-00000000
\Driver\ACPI i8042prt!I8xPowerUpToD0Complete Args: 00000000 00000000 00000000 00000002
[COLOR="#FF0000"]>[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)] 0 e1 ffffab83f009d2b0 00000000 fffff80f019c1010-00000000 Success Error Cancel pending
\Driver\i8042prt kbdclass!KeyboardClassPowerComplete Args: 00051100 00000001 00000001 00000002[/COLOR]
[COLOR="#008000"]Dieser IRP-Frame wurde bereits vom Debugger als Ursache festgestellt
und mit dem ">" markiert[/COLOR]
[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)] 0 e1 ffffab83f009c060 00000000 fffff803ccdbceb0-ffffab83f78555d0 Success Error Cancel pending
\Driver\kbdclass nt!PopRequestCompletion Args: 00051100 00000001 00000001 00000002
[N/A(0), N/A(0)] 0 0 00000000 00000000 00000000-ffffab83f78555d0 Args: 00000000 00000000 00000000 00000000
......
[COLOR="#008000"]Mit dem 1. Argument des IRP (ffffab83f009d2b0) kann das zugehörige DeviceObject abgefragt werden. [/COLOR]
2: kd> !devobj ffffab83f009d2b0
Device object (ffffab83f009d2b0) is for:
InfoMask field not found for _OBJECT_HEADER at ffffab83f009d280
[COLOR="#FF0000"] \Driver\i8042prt[/COLOR] DriverObject ffffab83f00a0b40
[COLOR="#008000"]Und wieder wird der Treiber i8042prt.sys als Ursache ermittelt. [/COLOR]
Current Irp 00000000 RefCount 0 Type 00000027 Flags 00002004
SecurityDescriptor ffffcf06cf337390 DevExt ffffab83f009d400 DevObjExt ffffab83f009d858
ExtensionFlags (0x00000800) DOE_DEFAULT_SD_PRESENT
Characteristics (0000000000)
[COLOR="#FF0000"]AttachedDevice (Upper) ffffab83f009c060 \Driver\kbdclass
AttachedTo (Lower) ffffab83ed1ec670 \Driver\ACPI [/COLOR]
[COLOR="#008000"]Zum Schluss noch mal die klare Aussage: das angefügte Gerät ist kbdclass.sys zusammen mit i8042prt.sys.
Es wurde an ACPI.sys angehängt. [/COLOR]