频繁出现 BSOD 0x9F driver_power_state_failure

频繁出现 BSOD 0x9F driver_power_state_failure

过去几周我遇到了很多 BSOD。停止代码始终为 0x9F (driver_power_state_failure)。我保存了过去三天的四个内存转储,并使用 Windows SDK 中的 WinDbg 对其进行了比较。调试细节大多看起来相同(请参阅本文底部)。

查看 bucket ID,发现 nvlddmkm.sys 与此有关。这是 NVidia 的一个驱动程序,我想起来,在我把驱动程序从 325 版更新到 347 版后,BSOD 就开始出现了。

在出现此类 BSOD 之前,我总是可以在任务管理器中看到系统线程(NT 内核和系统)占用了我 4 线程 CPU 的 25%。几分钟后,我的电脑就变得反应迟钝,最直观的感受就是屏幕冻结。但是:当我在出现 BSOD 之前使用 Skype 通话时,屏幕冻结时我仍然可以听到对方的声音。冻结后再过 8-10 分钟,就会出现 BSOD。

我已经从制造商的恢复分区重新安装了 Windows。我还将 NVidia 驱动程序更新到了最新版本(几次,使用全新安装)。

如果需要,我可以提供最新的转储、小型转储或其他信息。

电脑规格:

  • 宏碁 Aspire V3-771
  • Windows 7 家庭高级版 x64
  • 8GB DDR3 内存
  • Intel Core i5-3210M 2.5GHz,双核,4 线程
  • 全高清液晶屏(1920x1080,32位,60Hz)
  • NVIDIA GeForce GT 650M

以下信息是从 WinDbg 复制/粘贴的。除堆栈跟踪外,所有 4 个内存转储看起来都相同。

0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

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
Arg2: fffffa8007ed0a10, Physical Device Object of the stack
Arg3: fffff80000b9c3d8, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: fffffa800d8e1e10, The blocked IRP

Debugging Details:
------------------


DRVPOWERSTATE_SUBCODE:  3

IMAGE_NAME:  pci.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4ce7928f

MODULE_NAME: pci

FAULTING_MODULE: fffff88000f5a000 pci

DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT

BUGCHECK_STR:  0x9F

PROCESS_NAME:  System

CURRENT_IRQL:  2

ANALYSIS_VERSION: 6.3.9600.17298 (debuggers(dbg).141024-1500) amd64fre

DPC_STACK_BASE:  FFFFF8000480EFB0

fffff800`00b9c388 fffff800`02f41b92 : 00000000`0000009f 00000000`00000003 fffffa80`07ed0a10 fffff800`00b9c3d8 : nt!KeBugCheckEx
fffff800`00b9c390 fffff800`02edccfc : fffff800`00b9c4c0 fffff800`00b9c4c0 00000000`00000000 00000000`00000001 : nt! ?? ::FNODOBFM::`string'+0x33af0
fffff800`00b9c430 fffff800`02edcb96 : fffff800`03083140 00000000`00324674 00000000`00000000 00000000`00000000 : nt!KiProcessTimerDpcTable+0x6c
fffff800`00b9c4a0 fffff800`02edca7e : 00000077`aca84f27 fffff800`00b9cb18 00000000`00324674 fffff800`03051108 : nt!KiProcessExpiredTimerList+0xc6
fffff800`00b9caf0 fffff800`02edc867 : 0000001d`25ead5c1 0000001d`00324674 0000001d`25ead5e0 00000000`00000074 : nt!KiTimerExpiration+0x1be
fffff800`00b9cb90 fffff800`02ec8bca : fffff800`0304de80 fffff800`0305bcc0 00000000`00000002 fffff880`00000000 : nt!KiRetireDpcList+0x277
(...the top always looks like this, the rest of the stack mostly has some nvlddmkm in it)

STACK_COMMAND:  kb

FOLLOWUP_NAME:  MachineOwner

IMAGE_VERSION:  6.1.7601.17514

FAILURE_BUCKET_ID:  X64_0x9F_3_nvlddmkm_IMAGE_pci.sys

BUCKET_ID:  X64_0x9F_3_nvlddmkm_IMAGE_pci.sys

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:x64_0x9f_3_nvlddmkm_image_pci.sys

FAILURE_ID_HASH:  {86b85873-d822-8588-0151-5cf4191a225f}

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

0: kd> !devobj fffffa8007ed0a10
Device object (fffffa8007ed0a10) is for:
 NTPNP_PCI0017 \Driver\pci DriverObject fffffa80072b5e70
Current Irp 00000000 RefCount 0 Type 00000023 Flags 00001040
Dacl fffff9a1002db971 DevExt fffffa8007ed0b60 DevObjExt fffffa8007ed0f88 DevNode fffffa8007ecb8c0 
ExtensionFlags (0000000000)  
Characteristics (0x00000100)  FILE_DEVICE_SECURE_OPEN
AttachedDevice (Upper) fffffa8007ecbe40 \Driver\ACPI
Device queue is not busy.

0: kd> !irp fffffa800d8e1e10
Irp is active with 4 stacks 3 is current (= 0xfffffa800d8e1f70)
 No Mdl: No System Buffer: Thread 00000000:  Irp stack trace.  Pending has been returned
     cmd  flg cl Device   File     Completion-Context
 [  0, 0]   0  2 00000000 00000000 00000000-00000000    

            Args: 00000000 00000000 00000000 ffffffffc000000e
 [ 16, 0]   0  2 fffffa8007ed0a10 00000000 fffff88005bdc328-fffffa800d096650    
           \Driver\pci  nvlddmkm
            Args: 00000000 00000000 00000000 00000000
>[ 16, 2]   0 e1 fffffa800ae7b040 00000000 00000000-00000000    pending
           \Driver\nvlddmkm
            Args: 00000000 00000001 00000001 00000000
 [  0, 0]   0  0 00000000 00000000 00000000-fffffa800e30a4a0    

            Args: 00000000 00000000 00000000 00000000

0: kd> !devobj fffffa800ae7b040
Device object (fffffa800ae7b040) is for:
  \Driver\nvlddmkm DriverObject fffffa800ad60060
Current Irp 00000000 RefCount 0 Type 00000023 Flags 00002004
DevExt fffffa800ae7b190 DevObjExt fffffa800ae7bb48 
ExtensionFlags (0x00000800)  DOE_DEFAULT_SD_PRESENT
Characteristics (0x00000100)  FILE_DEVICE_SECURE_OPEN
AttachedTo (Lower) fffffa8007ecbe40 \Driver\ACPI
Device queue is not busy.

答案1

该错误是由 nVidia 显示驱动程序生成的。它不是从崩溃中恢复,而是使整个系统总线驱动程序崩溃。由于系统驱动程序不能由用户更改,因此您无法直接对驱动程序执行任何操作。您
应该使用稳定的旧驱动程序,如 332.21 或 325.x。尝试从制造商处获取驱动程序网站,以确保它与您的设备兼容。如果可以,请尝试记下版本号(您的情况是 311.00)并直接从 nVidia 网站下载,而不是从 Acer 网站下载。OEM 往往会更改/定制驱动程序。

相关内容