Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

Windows - 최대 절전 모드 시 DRIVER_POWER_STATE_FAILURE 발생 (pacer.sys)

이상하군요, 어느 순간부터 최대 절전 모드로 들어가면 평소와는 달리 길게 시간을 끌더니만 그냥 꺼지는 현상이 발생합니다. 한 번은 모니터를 켜놓고 어떻게 되는지 확인했는데, 블루스크린이 뜨는 경우도 있었고 그것도 없이 그냥 종료해 버리는 경우도 있었습니다.

블루스크린으로 생성된 덤프 파일을 WinDbg로 확인해 보면 이런 내용이 나옵니다.

************* Preparing the environment for Debugger Extensions Gallery repositories **************
...[생략]...

For analysis of this file, run !analyze -v
nt!KeBugCheckEx:
fffff803`63014f10 48894c2408      mov     qword ptr [rsp+8],rcx ss:0018:fffff60f`e9fdf6f0=000000000000009f

18: 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: ffff8389105ebab0, Physical Device Object of the stack
Arg3: fffff60fe9fdf738, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: ffff83894b757550, The blocked IRP

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

...[생략]...

PROCESS_NAME:  System

STACK_TEXT:  
fffff60f`f9f1e420 fffff803`62e1e385     : ffffa680`42911180 00000000`00000000 ffff8389`105b3040 00000000`00000000 : nt!KiSwapContext+0x76
fffff60f`f9f1e560 fffff803`62e1f7a7     : 00000000`00000000 fffff803`00000000 00000000`00000001 00000000`00000000 : nt!KiSwapThread+0xaa5
fffff60f`f9f1e6b0 fffff803`62e7f366     : ffff8389`00000000 00000000`00000001 ffff8389`00000000 00000000`00000000 : nt!KiCommitThreadWait+0x137
fffff60f`f9f1e760 fffff803`67a8b441     : fffff60f`f9f1eb70 ffff8389`32aa31a0 fffff60f`f9f1ec70 00000000`00000001 : nt!KeWaitForSingleObject+0x256
fffff60f`f9f1eb00 fffff803`679c4e99     : ffff8389`00000000 ffff8389`32aa31a0 fffff60f`f9f1ec70 00000000`00000000 : ndis!ndisWaitForKernelObject+0x21
fffff60f`f9f1eb40 fffff803`67ac6101     : 00000000`00000000 00000000`00000000 fffff60f`f9f1ec70 00000000`00000001 : ndis!ndisAcquireMiniportPnPEventLock+0x28bb9
fffff60f`f9f1eb70 fffff803`67994eb7     : 00000000`00000000 00000000`00000000 00000000`00000000 ffff8389`330c7620 : ndis!ndisPnPNotifyAllTransports+0xb1
fffff60f`f9f1ecb0 fffff803`62e80aba     : ffff8389`330c7620 ffff8389`59ecb0b4 fffff60f`f9f1ef00 fffff60f`f9f1f248 : ndis!ndisFNetPnPEventInternal+0x187
fffff60f`f9f1ede0 fffff803`62e80a2d     : fffff803`67994d30 fffff60f`f9f1eed8 ffff8389`330c7620 00000000`00000000 : nt!KeExpandKernelStackAndCalloutInternal+0x7a
fffff60f`f9f1ee50 fffff803`67995601     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KeExpandKernelStackAndCalloutEx+0x1d
fffff60f`f9f1ee90 fffff803`67995501     : 00000000`00000000 ffff8389`330c7620 fffff60f`f9f1f350 00000000`00000000 : ndis!NdisFNetPnPEvent+0x51
fffff60f`f9f1ef10 fffff803`67994e04     : 00000000`00000000 00000000`00000000 00000000`00000000 ffff8389`330c6410 : ndis!ndisFForwardNetPnPEventToFilter+0x55
fffff60f`f9f1f020 fffff803`62e80aba     : 00000000`00000001 ffff8389`59ecb0b4 fffff60f`f9f1f270 fffff60f`f9f1f648 : ndis!ndisFNetPnPEventInternal+0xd4
fffff60f`f9f1f150 fffff803`62e80a2d     : fffff803`67994d30 fffff60f`f9f1f248 ffff8389`330c6410 fffff803`66a912d3 : nt!KeExpandKernelStackAndCalloutInternal+0x7a
fffff60f`f9f1f1c0 fffff803`67995601     : 00000000`04b404dc fffff60f`f9f1f288 00000000`0000000d 00000000`00000000 : nt!KeExpandKernelStackAndCalloutEx+0x1d
fffff60f`f9f1f200 fffff803`69ab8eb4     : 00000000`00000004 ffff8389`330c6410 fffff60f`f9f1f350 fffff60f`f9f1f648 : ndis!NdisFNetPnPEvent+0x51
fffff60f`f9f1f280 fffff803`67a8e69b     : ffff8389`330c6410 ffff8389`326cadb0 00000000`00000001 fffff803`67a91446 : pacer!PcFilterPnPEvent+0x14
fffff60f`f9f1f2b0 fffff803`67995583     : ffff8389`330c6410 fffff60f`f9f1f3b9 ffff8389`330c6410 fffff60f`f9f1f7d0 : ndis!ndisFInvokeNetPnPEvent+0x77
fffff60f`f9f1f310 fffff803`67994e04     : 00000000`00000000 00000000`00000000 00000000`00000000 ffff8389`330c4240 : ndis!ndisFForwardNetPnPEventToFilter+0xd7
fffff60f`f9f1f420 fffff803`62e80aba     : ffff8389`330c4240 ffff8389`59ecb0b4 fffff60f`f9f1f670 fffff803`67a73048 : ndis!ndisFNetPnPEventInternal+0xd4
fffff60f`f9f1f550 fffff803`62e80a2d     : fffff803`67994d30 fffff60f`f9f1f648 ffff8389`330c4240 ffff8389`133f6938 : nt!KeExpandKernelStackAndCalloutInternal+0x7a
fffff60f`f9f1f5c0 fffff803`67995601     : 00000000`00000928 00000000`0000009c 00000000`00000000 00000000`00000000 : nt!KeExpandKernelStackAndCalloutEx+0x1d
fffff60f`f9f1f600 fffff803`67995501     : ffff8389`104b81cc ffff8389`330c4240 fffff60f`f9f1f7d0 fffff60f`f9f1f718 : ndis!NdisFNetPnPEvent+0x51
fffff60f`f9f1f680 fffff803`67994be6     : ffff8389`00000000 ffff8389`32aa31a0 ffff8389`32aa31a0 fffff60f`f9f1f920 : ndis!ndisFForwardNetPnPEventToFilter+0x55
fffff60f`f9f1f790 fffff803`67ac63ca     : ffff8389`32aa31a0 ffff8389`4b757668 ffff8389`32aa31a0 00000000`00000000 : ndis!ndisDevicePnPEventNotifyFiltersAndAllTransports+0xfa
fffff60f`f9f1f8c0 fffff803`67995d2d     : ffff8389`4b757550 ffff8389`105ebab0 ffff8389`4b757668 ffff8389`32aa31a0 : ndis!ndisQueryPower+0x18e
fffff60f`f9f1fa20 fffff803`62e0362a     : ffff8389`59ecb040 fffff60f`f9f1fb00 fffff803`6383a100 ffff8389`32aa3050 : ndis!ndisPowerDispatch+0x1cd
fffff60f`f9f1fa80 fffff803`62f4d247     : ffff8389`00000002 ffffffff`fa0a1f00 fffff803`62e033d0 00000000`00000000 : nt!PopIrpWorker+0x25a
fffff60f`f9f1fb30 fffff803`6301a084     : ffffa680`42d11180 ffff8389`59ecb040 fffff803`62f4d1f0 00000000`00000246 : nt!PspSystemThreadStartup+0x57
fffff60f`f9f1fb80 00000000`00000000     : fffff60f`f9f20000 fffff60f`f9f19000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x34


SYMBOL_NAME:  pacer!PcFilterPnPEvent+14

MODULE_NAME: pacer

IMAGE_NAME:  pacer.sys

IMAGE_VERSION:  10.0.22621.3952

STACK_COMMAND:  .process /r /p 0xffff8389104ff040; .thread 0xffff838959ecb040 ; kb

BUCKET_ID_FUNC_OFFSET:  14

FAILURE_BUCKET_ID:  0x9F_3_POWER_DOWN_pacer!PcFilterPnPEvent

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {bc1e8814-1104-9f6d-a9de-f6b5bc67aa27}

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

다른 덤프도 확인했으나 모두 같은 출력이 나왔습니다. 그러니까, 확실히 pacer.sys 드라이버 측에서 전원 관리에 문제가 발생하고 있는 것입니다.

그나저나, pacer.sys가 뭔지 검색해 보면 "QoS Packet Scheduler"라고 하는데요, 어쨌든 문제는 없게 만들어야 하니 제어판에서 "Network and Sharing Center"의 "Change adapter settings" 링크로 들어가 열람할 수 있는 "Network Connections"에 대해 "QoS Packet Scheduler" 관련 옵션을 모두 해제했습니다.

disable_qos_packet_scheduler_1.png

다행히, 이후로는 최대 절전 모드로 잘 진입합니다. ^^




저 문제가 발생하고 며칠 후 다시 현상을 재현하려고 QoS 옵션을 켰는데, 이제는 문제가 발생하지 않았고 혹시나 싶어 pacer.sys의 파일 버전을 확인했더니 (이전에는 10.0.22621.3952였는데) 10.0.22621.2506으로 바뀌었습니다. 낮아진 걸로 봐서는 업데이트로 인해 롤백이 된 것이 아닌가... 싶습니다. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 2/3/2025]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  [25]  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13312정성태4/8/202311630Windows: 244. Win32 - 시간 만료를 갖는 MessageBox 대화창 구현 (개선된 버전)파일 다운로드1
13311정성태4/7/202312850C/C++: 163. Visual Studio 2022 - DirectShow 예제 컴파일(WAV Dest)
13310정성태4/6/202311970C/C++: 162. Visual Studio - /NODEFAULTLIB 옵션 설정 후 수동으로 추가해야 할 library
13309정성태4/5/202312438.NET Framework: 2107. .NET 6+ FileStream의 구조 변화
13308정성태4/4/202312481스크립트: 47. 파이썬의 time.time() 실숫값을 GoLang / C#에서 사용하는 방법 [1]
13307정성태4/4/202311609.NET Framework: 2106. C# - .NET Core/5+ 환경의 Windows Forms 응용 프로그램에서 HINSTANCE 구하는 방법
13306정성태4/3/202311599Windows: 243. Win32 - 윈도우(cbWndExtra) 및 윈도우 클래스(cbClsExtra) 저장소 사용 방법
13305정성태4/1/202312881Windows: 242. Win32 - 시간 만료를 갖는 MessageBox 대화창 구현 (쉬운 버전) [1]파일 다운로드1
13304정성태3/31/202313223VS.NET IDE: 181. Visual Studio - C/C++ 프로젝트에 application manifest 적용하는 방법
13303정성태3/30/202311464Windows: 241. 환경 변수 %PATH%에 DLL을 찾는 규칙
13302정성태3/30/202312189Windows: 240. RDP 환경에서 바뀌는 %TEMP% 디렉터리 경로
13301정성태3/29/202312761Windows: 239. C/C++ - Windows 10 Version 1607부터 지원하는 /DEPENDENTLOADFLAG 옵션 [1]파일 다운로드1
13300정성태3/28/202311909Windows: 238. Win32 - Modal UI 창에 올바른 Owner(HWND)를 설정해야 하는 이유
13299정성태3/27/202311715Windows: 237. Win32 - 모든 메시지 루프를 탈출하는 WM_QUIT 메시지
13298정성태3/27/202311688Windows: 236. Win32 - MessageBeep 소리가 안 들린다면?
13297정성태3/26/202313151Windows: 235. Win32 - Code Modal과 UI Modal
13296정성태3/25/202312232Windows: 234. IsDialogMessage와 협업하는 WM_GETDLGCODE Win32 메시지 [1]파일 다운로드1
13295정성태3/24/202312391Windows: 233. Win32 - modeless 대화창을 modal처럼 동작하게 만드는 방법파일 다운로드1
13294정성태3/22/202312359.NET Framework: 2105. LargeAddressAware 옵션이 적용된 닷넷 32비트 프로세스의 가용 메모리 - 두 번째
13293정성태3/22/202311763오류 유형: 853. dumpbin - warning LNK4048: Invalid format file; ignored
13292정성태3/21/202312510Windows: 232. C/C++ - 일반 창에도 사용 가능한 IsDialogMessage파일 다운로드1
13291정성태3/20/202312747.NET Framework: 2104. C# Windows Forms - WndProc 재정의와 IMessageFilter 사용 시의 차이점
13290정성태3/19/202312468.NET Framework: 2103. C# - 윈도우에서 기본 제공하는 FindText 대화창 사용법파일 다운로드1
13289정성태3/18/202311418Windows: 231. Win32 - 대화창 템플릿의 2진 리소스를 읽어들여 자식 윈도우를 생성하는 방법파일 다운로드1
13288정성태3/17/202311619Windows: 230. Win32 - 대화창의 DLU 단위를 pixel로 변경하는 방법파일 다운로드1
13287정성태3/16/202311605Windows: 229. Win32 - 대화창 템플릿의 2진 리소스를 읽어들여 윈도우를 직접 띄우는 방법파일 다운로드1
... 16  17  18  19  20  21  22  23  24  [25]  26  27  28  29  30  ...