Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BSOD with DRIVER_POWER_STATE_FAILURE (9f)

1 view
Skip to first unread message

hammerli22

unread,
Jun 23, 2008, 8:18:00 PM6/23/08
to
My driver is BSOD when the system was gracefully powered down after it was
running for 48hrs. Am I missing the servicing of some power request ? It
never happened before and all of a sudden it happend but I am unable to
reproduce it and all i have is this memory dump and logs below. Any ideas ?

thanks

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

DRIVER_POWER_STATE_FAILURE (9f)
A driver is causing an inconsistent power state.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too
long a time
Arg2: e000012783025590, Physical Device Object of the stack
Arg3: e00001278573fbe0, Functional Device Object of the stack
Arg4: e0000127851e5420, The blocked IRP

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

Page 1fc00 not present in the dump file. Type ".hh dbgerr004" for details


Page 1fc00 not present in the dump file. Type ".hh dbgerr004" for details

DRVPOWERSTATE_SUBCODE: 3

DEVICE_OBJECT: e00001278573fbe0

DRIVER_OBJECT: e000012785712b60

IMAGE_NAME: mydriver.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 47ebfe90

MODULE_NAME: mydriver

FAULTING_MODULE: e00001062101e000 mydriver

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

BUGCHECK_STR: 0x9F

PROCESS_NAME: Idle

CURRENT_IRQL: 2

LAST_CONTROL_TRANSFER: from e000000088465730 to e0000000884645f0

STACK_TEXT:
e0000106`006e2f60 e0000106`006e4498 e0000000`88465730 : 00000000`0000009f
00000000`00000003 e0000127`83025590 e0000127`8573fbe0 : nt!KeBugCheck2+0x210
[d:\rtm\base\ntos\ke\bugcheck.c @ 813]
e0000106`006e3a90 e0000106`006e4460 e0000000`8837a110 : 00000000`0000009f
00000000`00000003 e0000127`83025590 e0000127`8573fbe0 : nt!KeBugCheckEx+0x30
[d:\rtm\base\ntos\ke\bugcheck.c @ 163]
e0000106`006e3a90 e0000106`006e43d8 e0000000`882d14e0 : e0000127`8517acc0
e0000127`851e5420 e0000127`8573fbe0 e0000127`851e5422 :
nt!PopCheckIrpWatchdog+0xa4fb0
e0000106`006e3ab0 e0000106`006e4340 e0000000`8829e960 : 00000000`00015edf
00000000`00000000 00000000`00000000 00000000`00000001 :
nt!PopCheckForIdleness+0x680 [d:\rtm\base\ntos\po\sidle.c @ 630]
e0000106`006e3ad0 e0000106`006e4218 e0000000`8829fe90 : e0000106`006e3ca0
00000000`00000002 e0000106`006e3c98 00000000`00000001 :
nt!KiTimerListExpire+0x560 [d:\rtm\base\ntos\ke\dpcsup.c @ 1048]
e0000106`006e3c80 e0000106`006e4178 e0000000`882a1ce0 : 00000000`000004e0
00000000`00000150 00000000`00000002 00000000`00000001 :
nt!KiTimerExpiration+0x2d0 [d:\rtm\base\ntos\ke\dpcsup.c @ 770]
e0000106`006e3ca0 e0000106`006e40e8 e0000000`8830a670 : e0000000`88680e80
e0000000`886820a0 e0000000`88682800 0000006a`28430796 :
nt!KiRetireDpcList+0x440 [d:\rtm\base\ntos\ke\dpcsup.c @ 1154]
e0000106`006e3cc0 e0000106`006e40d8 e0000000`882fffd0 : 00000000`00500000
0000006a`280628f6 e0000000`88680e80 e0000000`886820a0 :
nt!KiRetireDpcListEx+0x190 [d:\rtm\base\ntos\ke\mp\ctxswap.s @ 1873]
e0000000`87361d70 e0000000`87362088 00000000`00000000 : 00000000`00000189
00000000`00000000 00000000`00000000 e0000000`88682e10 :
nt!Kil_TopOfIdleLoop+0xd0 [d:\rtm\base\ntos\ke\mp\start.s @ 1305]


STACK_COMMAND: kb

FOLLOWUP_NAME: MachineOwner

FAILURE_BUCKET_ID: IA64_0x9F_IMAGE_mydriver.sys

BUCKET_ID: IA64_0x9F_IMAGE_mydriver.sys

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


kd> !devobj e00001278573fbe0 f
Device object (e00001278573fbe0) is for:
MYNAME \Driver\MYDRIVER DriverObject e000012785712b60
Current Irp 00000000 RefCount 5 Type 00000022 Flags 00002044
Dacl e0000107006c3781 DevExt e00001278573cfb0 DevObjExt e00001278573fd50
ExtensionFlags (0000000000)
AttachedTo (Lower) e000012783025590 \Driver\ACPI
Device queue is not busy.


kd> !WDFDEVICE 0x1ffffed87a8c33f8 f

Dumping WDFDEVICE 0x1ffffed87a8c33f8
=================================

WDM PDEVICE_OBJECTs:self e00001278573fbe0, attached e000012783025590, pdo
e000012783025590

Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 31a ( WdfDevStatePowerGotoDx )
Power Pol state: 527 ( WdfDevStatePwrPolSleepingNoWakePowerDown )

Default WDFIOTARGET: 1ffffed87a8c0c38

Pended device power irp 0xe0000127851e5420
Pended system power irp 0xe0000127851c8790
Device is the power policy owner for the stack

Pnp state history:
[0] WdfDevStatePnpObjectCreated (0x100)
[1] WdfDevStatePnpInit (0x105)
[2] WdfDevStatePnpInitStarting (0x106)
[3] WdfDevStatePnpHardwareAvailable (0x108)
[4] WdfDevStatePnpEnableInterfaces (0x109)
[5] WdfDevStatePnpStarted (0x119)

Power state history:
[0] WdfDevStatePowerStartingCheckDeviceType (0x316)
[1] WdfDevStatePowerD0Starting (0x30f)
[2] WdfDevStatePowerD0StartingConnectInterrupt (0x310)
[3] WdfDevStatePowerD0StartingDmaEnable (0x311)
[4] WdfDevStatePowerD0StartingStartSelfManagedIo (0x312)
[5] WdfDevStatePowerDecideD0State (0x313)
[6] WdfDevStatePowerD0 (0x307)
[7] WdfDevStatePowerGotoDx (0x31a)

Power policy state history:
[0] WdfDevStatePwrPolObjectCreated (0x500)
[1] WdfDevStatePwrPolStarting (0x501)
[2] WdfDevStatePwrPolStartingSucceeded (0x502)
[3] WdfDevStatePwrPolStartingDecideS0Wake (0x504)
[4] WdfDevStatePwrPolStarted (0x565)
[5] WdfDevStatePwrPolSleeping (0x526)
[6] WdfDevStatePwrPolSleepingNoWakePowerDown (0x527)

WDFCHILDLIST Handles:
!WDFCHILDLIST 0x1ffffed87a8c0218 (static PDO list)

Properties:
SynchronizationScope: WdfSynchronizationScopeDevice
ExecutionLevel: WdfExecutionLevelPassive
IoType: WdfDeviceIoBuffered
FileObjectClass: WdfFileObjectWdfCannotUseFsContexts
Exclusive: No
AutoForwardCleanupClose: No
DefaultIoPriorityBoot: 0
DeviceName: \Device\Myname
SymbolicLink: \DosDevices\Myname
MofResourceName: MofResourceName

kd> !wdfdevicequeues 0x1ffffed87a8c33f8

Dumping queues of WDFDEVICE 0x1ffffed87a8c33f8
=====================================
Number of queues: 2
----------------------------------
Queue: 1 (!wdfqueue 0x1ffffed87a8c08a8)
Manual, Not power-managed, PowerOn, Passive Only, Can accept, Can
dispatch, ExecutionLevelPassive, SynchronizationScopeDevice
Number of driver owned requests: 0
Number of waiting requests: 0


This is WDF internal queue for create requests.
----------------------------------
Queue: 2 (!wdfqueue 0x1ffffed87a8c1718)
Parallel, Default, Power-managed, PowerStartingTransition, Passive Only,
Can accept, Can dispatch, Dispatching, ExecutionLevelPassive,
SynchronizationScopeDevice
Number of driver owned requests: 1
!WDFREQUEST 0x1ffffed87af02f78 !IRP 0xe000012785217c00
Number of waiting requests: 1
!WDFREQUEST 0x1ffffed87af9b148 !IRP 0xe000012785048930


EvtIoDeviceControl: (0xe000010621032290) Mydriver!MyEvtIoDeviceControl


kd> !wdflogdump MYDRIVER
Trace searchpath is: C:\WINDDK\6001.18000\tools\tracing\i386\wdf01007.tmf

Trace format prefix is: %7!u!: %!FUNC! -
TMF file used for formatting IFR log is:
C:\WINDDK\6001.18000\tools\tracing\i386\wdf01007.tmf
Log at e000012785740000
Gather log: Please wait, this may take a moment (reading 8120 bytes).
% read so far ... 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
There are 144 log entries
--- start of log ---

[... bunch of stuff deleted ...]

920: FxIoTargetRemote::ClearTargetPointers - WDFIOTARGET 1FFFFED87ADE6CF8
cleared pointers E00001062A754C30 state WdfIoTargetDeleted, open state 3, pdo
E000012782D27A30, fileobj E000012785209CB0, handle FFFFFFFF8000097C
921: FxIoTarget::WaitForDisposeEvent - WDFIOTARGET 1FFFFED87ADE6CF8, Waiting
on Dispose event E00001062A754BF0
922: FxIoTargetRemote::Close - WDFIOTARGET 1FFFFED87ADE6CF8 derefing PDO
E000012782D27A30 on close
923: FxIoTargetRemote::Close - WDFIOTARGET 1FFFFED87ADE6CF8 derefing FileObj
E000012785209CB0 on close
924: FxIoTargetRemote::Close - WDFIOTARGET 1FFFFED87ADE6CF8 closing handle
FFFFFFFF8000097C on close
925: FxPkgPnp::Dispatch - WDFDEVICE 0x1FFFFED87A8C33F8 !devobj
0xE00001278573FBE0 IRP_MJ_POWER, Minor 0x2 IRP 0xE0000127851C8790 for power
state S5
926: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x1FFFFED87A8C33F8
!devobj 0xE00001278573FBE0 entering power policy state
WdfDevStatePwrPolSleeping from WdfDevStatePwrPolStarted
927: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x1FFFFED87A8C33F8
!devobj 0xE00001278573FBE0 entering power policy state
WdfDevStatePwrPolSleepingNoWakePowerDown from WdfDevStatePwrPolSleeping
928: FxPkgPnp::Dispatch - WDFDEVICE 0x1FFFFED87A8C33F8 !devobj
0xE00001278573FBE0 IRP_MJ_POWER, Minor 0x2 IRP 0xE0000127851E5420 for power
state D3
929: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x1FFFFED87A8C33F8 !devobj
0xE00001278573FBE0 entering Power State WdfDevStatePowerGotoDx from
WdfDevStatePowerD0
---- end of log ----


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

Args: 00000000 00000000 00000000 00000000
[ 16, 0] 0 0 e000012783025590 00000000 e0000106016cb560-e00001278573e020

\Driver\ACPI Wdf01000!FxPkgFdo::_SystemPowerSxCompletion
Args: 00000000 00000000 00000000 00000005
>[ 16, 2] 0 e1 e00001278573fbe0 00000000 e00000008824bd10-e00001278580fe30 Success Error Cancel pending
\Driver\MYDRIVER nt!PopSystemIrpCompletion
Args: 00016600 00000000 00000006 00000005
[ 0, 0] 0 0 00000000 00000000 00000000-e00001278580fe30

Args: 00000000 00000000 00000000 00000000


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

Args: 00000000 00000000 00000000 00000000
[ 0, 0] 0 0 00000000 00000000 00000000-00000000

Args: 00000000 00000000 00000000 00000000
>[ 16, 2] 0 e1 e00001278573fbe0 00000000 e00000008824c930-e00001278517acc0 Success Error Cancel pending
\Driver\MYDRIVER nt!PopRequestCompletion
Args: 00016600 00000001 00000004 00000005
[ 0, 0] 0 0 00000000 00000000 00000000-e00001278517acc0

Args: 00000000 00000000 00000000 00000000


kd> !stacks 0
Proc.Thread .Thread Ticks ThreadState Blocker
[e00001278288d350 System]
4.000008 e00001278288cde0 000029a GATEWAIT nt!KeWaitForGate+0x550
4.000010 e000012782890dc0 001bd97 Blocked nt!PopIrpWorkerControl+0x50
4.000014 e0000127828908e0 00001e4 Blocked
Wdf01000!FxIoQueue::WaitForSignal+0x1d0
4.000018 e000012782890400 000ec42 Blocked nt!PopIrpWorker+0x320
4.00001c e000012782960040 000eca8 Blocked nt!KeRemoveQueueEx+0x1330
4.000020 e000012782961b60 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.000024 e000012782961680 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.000028 e0000127829611a0 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.00002c e000012782960cc0 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.000030 e0000127829607e0 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.000034 e000012782962040 0018a7e Blocked nt!KeRemoveQueueEx+0x1330
4.000038 e000012782963b60 000ed65 Blocked nt!KeRemoveQueueEx+0x1330
4.00003c e000012782963680 000ed96 Blocked
nt!PopDisplayResumeWorker+0x80
4.000040 e0000127829631a0 0018a7d Blocked nt!KeRemoveQueueEx+0x1330
4.000044 e000012782962cc0 000ed96 Blocked nt!KeRemoveQueueEx+0x1330
4.000048 e0000127829627e0 000ed96 Blocked nt!KeRemoveQueueEx+0x1330
4.00004c e000012782964040 000ed96 Blocked nt!KeRemoveQueueEx+0x1330
4.000050 e000012782965b60 000ed96 Blocked nt!KeRemoveQueueEx+0x1330
4.000054 e000012782965680 0000041 STANDBY nt!KeRemoveQueueEx+0x1330
4.000058 e0000127829651a0 000ed96 Blocked nt!KeRemoveQueueEx+0x1330
4.00005c e000012782964cc0 000ec44 Blocked nt!KeRemoveQueueEx+0x1330
4.000060 e0000127829647e0 0000041 Blocked nt!KeRemoveQueueEx+0x1330
4.000068 e000012782968560 0000044 Blocked nt!KiExecuteDpc+0x390
4.000070 e00001278296a8c0 001bda0 GATEWAIT nt!KeWaitForGate+0x550
4.00007c e00001278296d400 0000004 Blocked
nt!CcQueueLazyWriteScanThread+0xb0
4.000080 e00001278288a040 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.000084 e00001278288bb60 001bd97 Blocked nt!KeRemoveQueueEx+0x1330
4.0000a8 e0000127829e36e0 001bd97 Blocked nt!EtwpLogger+0x120
4.0000ac e0000127829e5b60 001bd96 Blocked nt!EtwpLogger+0x120
4.0000b0 e0000127829e5200 001bd96 Blocked nt!EtwpLogger+0x120
4.0000b8 e000012782abd380 0000002 Blocked nt!WdipSemCheckTimeout+0x2e0
4.0000bc e000012782b00040 000ec42 Blocked nt!PopSleepDeviceList+0x300
4.0000c0 e000012782b00670 00194be Blocked acpi!ACPIWorkerThread+0xc0
4.0000c4 e000012782e04b80 001bd33 Blocked
pci!ExpressRootComplexPmeEventDispatcher+0xa0
4.0000c8 e000012782e07b60 001bd33 Blocked
pci!ExpressRootComplexPmeEventDispatcher+0xa0
4.0000cc e000012782e06e90 001bd33 Blocked
pci!ExpressRootComplexPmeEventDispatcher+0xa0
4.0000d0 e000012782e06600 001bd33 Blocked
acpi!PciRootBusBiosMethodDispatcherOnResume+0xa0
4.0000d4 e000012782d1d070 001bd33 Blocked
acpi!PciRootBusBiosMethodDispatcherOnResume+0xa0
4.0000d8 e000012782d24040 001bd20 Blocked
acpi!PciRootBusBiosMethodDispatcherOnResume+0xa0
4.0000dc e000012782d270d0 001bd20 Blocked
acpi!PciRootBusBiosMethodDispatcherOnResume+0xa0
4.0000e0 e000012782d54f60 001bd20 Blocked
acpi!PciRootBusBiosMethodDispatcherOnResume+0xa0
4.0000e4 e000012782d59420 001bd20 Blocked
acpi!PciRootBusBiosMethodDispatcherOnResume+0xa0
4.0000ec e0000127845bdaf0 001aa98 Blocked nt!KeRemoveQueueEx+0x1330
4.0000f0 e000012782851b60 00003f8 Blocked NDIS!ndisCmWaitThread+0x120
4.000104 e0000127846ca080 0000004 Blocked nt!KeRemoveQueueEx+0x1330
4.000108 e0000127846e5340 000ec9d Blocked
Ntfs!TxfPrivateThreadWorkerRoutine+0xe0
4.000114 e0000127857bb820 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.000118 e0000127857bb340 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.00011c e0000127857bae60 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.000120 e0000127857ba980 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.000124 e0000127857be040 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.000128 e0000127857bfb60 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.00012c e0000127857bf680 001b480 Blocked nt!KeRemoveQueueEx+0x1330
4.000170 e000012785cd65c0 00156a5 Blocked nt!KeRemoveQueueEx+0x1330
4.000174 e000012785cd0ae0 00156a5 Blocked nt!KeRemoveQueueEx+0x1330
4.000178 e000012785cda040 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.00017c e000012785cdbb60 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.000180 e000012785cdb680 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.000184 e000012785cdb1a0 0015ec5 Blocked nt!KeRemoveQueueEx+0x1330
4.000188 e000012785cdacc0 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.00018c e000012785cda7e0 0015ec5 Blocked nt!KeRemoveQueueEx+0x1330
4.000190 e000012785cdc040 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.000194 e000012785cddb60 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.000198 e000012785cdd680 001b19e Blocked nt!KeRemoveQueueEx+0x1330
4.00019c e000012785cdd1a0 00000d4 Blocked nt!KeRemoveQueueEx+0x1330
4.0001a0 e000012785cdccc0 00156a5 Blocked nt!KeRemoveQueueEx+0x1330
4.0001a4 e000012785cdc7e0 00156a5 Blocked nt!KeRemoveQueueEx+0x1330
4.0001fc e000012784580b40 001af81 Blocked
watchdog!SMgrGdiCalloutThread+0xd0
4.000254 e00001278483a590 000bfd8 Blocked nt!KeRemoveQueueEx+0x1330
4.00035c e00001278495f010 00079c1 Blocked
luafv!SynchronousFsControl+0x250
*** ERROR: Symbol file could not be found. Defaulted to export symbols for
spsys.sys -
4.000464 e0000127849d8c90 001aad2 Blocked spsys+0x33390
4.000570 e000012784a7c400 001a9f8 Blocked mpsdrv!MpsWorkerThread+0x90
4.00060c e000012784b57930 0002196 Blocked HTTP!UlpScavengerThread+0x130
4.0005ec e000012784cbc520 00156a5 Blocked nt!KeRemoveQueueEx+0x1330
4.000650 e000012784cc1200 0015ec5 Blocked nt!KeRemoveQueueEx+0x1330
4.0006c0 e000012784cc5710 0019354 Blocked nt!KeRemoveQueueEx+0x1330
4.000780 e000012784f75b60 0019352 Blocked nt!KeRemoveQueueEx+0x1330
4.0007dc e000012784ccb120 0019350 Blocked nt!KeRemoveQueueEx+0x1330
4.000764 e000012784f77b60 001934f Blocked nt!KeRemoveQueueEx+0x1330
4.000d5c e00001278506a5b0 00001e2 Blocked nt!PopIrpWorker+0x320
4.000d54 e000012785180040 00001b1 Blocked nt!PopIrpWorker+0x320
4.000d40 e000012785212040 00001b1 Blocked nt!PopIrpWorker+0x320
4.000d3c e000012784cc7770 00001e2 Blocked nt!PopIrpWorker+0x320
4.000f10 e000012784f867c0 00001e4 Blocked nt!PopIrpWorker+0x320
4.000f0c e0000127850e6970 00001e4 Blocked nt!PopIrpWorker+0x320


Doron Holan [MSFT]

unread,
Jun 24, 2008, 1:10:55 PM6/24/08
to
your driver is blocking in one of your power down routines (perhaps
D0Exit?).

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"hammerli22" <hamme...@discussions.microsoft.com> wrote in message
news:CDFB94F1-1356-4BA0...@microsoft.com...

hammerli22

unread,
Jun 24, 2008, 8:33:01 PM6/24/08
to

My D0Exit doesnt do anything but return.

I did registered a callback\powerstate via ExCallBack per previous
discussion which solved a previous
problem posted on this URL:

http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.development.device.drivers&mid=853cee64-824a-47dc-a0d3-5b1526a72f28&sloc=en-us

Do you know if a IRP_MN_SET_POWER irp happens before or after the excallback
?

Doron Holan [MSFT]

unread,
Jun 25, 2008, 1:36:31 PM6/25/08
to
set power irps come after the Ex callback returns

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"hammerli22" <hamme...@discussions.microsoft.com> wrote in message

news:46F170D8-02A7-4926...@microsoft.com...

0 new messages