Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)

Windows Phone 연결 상태에서 DRIVER POWER STATE FAILURE 블루 스크린 뜨는 현상

언제부턴가, BSOD가 가끔씩 뜨기 시작했습니다. 윈도우 7 설치 이후로 거의 본 적이 없어서 의외였는데요. 몇 번의 BSOD를 겪으면서 한가지 공통점을 발견하기 시작했습니다. 즉, 윈도우 폰이 연결된 상태에서만 그랬던 것입니다.

BSOD 화면의 "DRIVER POWER STATE FAILURE"라는 오류 메시지를 보면서, 윈도우 폰이 충전되는 중에 노트북의 전원이 불안정해져서 그런가 보다 싶었습니다.

음... 하지만, 이렇게 이해해 주는 것도 한두번이지... 자꾸만 시스템이 비정상 종료되다 보니 슬슬 ^^; 참을성이 바닥을 보이게 됩니다.

마침내, 오늘 다시 그런 현상을 경험해서 이번에는 단서를 좀 찾아봐야지 하는 생각이 들었는데요.

보통, 윈도우 7에서 BSOD로 인해 강제 재부팅이 되고 나면 다음과 같은 식의 오류 보고 창이 뜹니다.

wp7_driver_power_state_failure_bsod_1.png

Problem signature:
  Problem Event Name:   BlueScreen
  OS Version:   6.1.7601.2.1.0.256.4
  Locale ID:    1042

Additional information about the problem:
  BCCode:   9f
  BCP1: 0000000000000003
  BCP2: FFFFFA800ED5C060
  BCP3: FFFFF80004619518
  BCP4: FFFFFA800D1DC010
  OS Version:   6_1_7601
  Service Pack: 1_0
  Product:  256_1

Files that help describe the problem:
  C:\Windows\Minidump\051512-51558-01.dmp
  C:\Users\SeongTae Jeong\AppData\Local\Temp\WER-178808-0.sysdata.xml

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

그리고, 그 화면에서는 위에서와 같이 미니 덤프 파일(051512-51558-01.dmp) 경로를 확인할 수 있는데요.

우선, _NT_SYMBOL_PATH를 맞춰주고 windbg를 실행한 후 "File" / "Open Crash Dump..." 메뉴를 선택하여 해당 미니 덤프 파일을 열었습니다.

Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Windows\Minidump\051512-51558-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

DbsSplayTreeRangeMap::Add: ignoring zero-sized range at ?fffff8a0`06d66952?
DbsSplayTreeRangeMap::Add: ignoring zero-sized range at ?fffff8a0`002428b2?
DbsSplayTreeRangeMap::Add: ignoring zero-sized range at ?fffff800`04619500?
Symbol search path is: SRV*...[생략]...
Executable search path is: 
Windows 7 Kernel Version 7601 (Service Pack 1) MP (8 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.17790.amd64fre.win7sp1_gdr.120305-1505
Machine Name:
Kernel base = 0xfffff800`02e12000 PsLoadedModuleList = 0xfffff800`03056650
Debug session time: Tue May 15 09:42:20.820 2012 (UTC + 9:00)
System Uptime: 0 days 22:56:36.819
Loading Kernel Symbols
.

Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.
Run !sym noisy before .reload to track down problems loading symbols.

..............................................................
................................................................
............................................
Loading User Symbols
Loading unloaded module list
..........................
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 9F, {3, fffffa800ed5c060, fffff80004619518, fffffa800d1dc010}

Probably caused by : usbhub.sys

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

친절하게도 ^^ "analyze" 명령을 사용해 보라고 권하고 있는데, ^^ 이대로 해주니 오류 원인이 한번에 밝혀졌습니다.

0: 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: fffffa800ed5c060, Physical Device Object of the stack
Arg3: fffff80004619518, Functional Device Object of the stack
Arg4: fffffa800d1dc010, The blocked IRP

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


DRVPOWERSTATE_SUBCODE:  3

IMAGE_NAME:  usbhub.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4d8c0c15

MODULE_NAME: usbhub

FAULTING_MODULE: fffff88008d44000 usbhub

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT

BUGCHECK_STR:  0x9F

PROCESS_NAME:  System

CURRENT_IRQL:  2

STACK_TEXT:  
fffff800`046194c8 fffff800`02efc092 : 00000000`0000009f 00000000`00000003 fffffa80`0ed5c060 fffff800`04619518 : nt!KeBugCheckEx
fffff800`046194d0 fffff800`02e9995c : fffff800`04619600 fffff800`04619600 00000000`00000000 00000000`00000001 : nt! ?? ::FNODOBFM::`string'+0x34040
fffff800`04619570 fffff800`02e997f6 : fffffa80`0c3a7658 fffffa80`0c3a7658 00000000`00000000 00000000`00000000 : nt!KiProcessTimerDpcTable+0x6c
fffff800`046195e0 fffff800`02e996de : 000000c0`4f8a729d fffff800`04619c58 00000000`0050ca29 fffff800`030067a8 : nt!KiProcessExpiredTimerList+0xc6
fffff800`04619c30 fffff800`02e994c7 : 00000020`78b4efc2 00000020`0050ca29 00000020`78b4effa 00000000`00000029 : nt!KiTimerExpiration+0x1be
fffff800`04619cd0 fffff800`02e8698a : fffff800`03003e80 fffff800`03011cc0 00000000`00000002 fffff880`00000000 : nt!KiRetireDpcList+0x277
fffff800`04619d80 00000000`00000000 : fffff800`0461a000 fffff800`04614000 fffff800`04619d40 00000000`00000000 : nt!KiIdleLoop+0x5a


STACK_COMMAND:  kb

FOLLOWUP_NAME:  MachineOwner

FAILURE_BUCKET_ID:  X64_0x9F_3_AiCharger_IMAGE_usbhub.sys

BUCKET_ID:  X64_0x9F_3_AiCharger_IMAGE_usbhub.sys

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

아하... 힌트가 나왔습니다. "X64_0x9F_3_AiCharger_IMAGE_usbhub.sys" 파일명에서 예전에 썼던 글이 생각납니다.

노트북과 PC에서 iPad를 충전시킴 ^^
; https://www.sysnet.pe.kr/0/0/370

델 노트북에서 USB 포트를 이용하여 아이패드를 충전하기 위해 설치했던 프로그램이 바로 "AiCharger"였던 것입니다. 프로그램을 제거해야 하나 생각하다가, 해당 프로그램이 .sys 파일뿐만 아니라 레지스트리의 시작 프로그램으로 등록되어 있던 것이 기억나서 그냥 그것만 해제를 했습니다. (왜냐하면, 나중에 아이패드 충전할 일이 있으면 또 설치하기가 귀찮으므로.)

레지스트리 경로: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\AutorunsDisabled
이름: ASUS Ai Charger
값: C:\Program Files (x86)\ASUS\ASUS Ai Charger\AiChargerAP.exe

일단, 이렇게 해서 며칠 사용해야 결론이 나겠지만... 현재까지는 BSOD 화면이 뜨지 않고 있습니다. ^^




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

[연관 글]






[최초 등록일: ]
[최종 수정일: 5/21/2021]

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

비밀번호

댓글 작성자
 




1  [2]  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13893정성태2/27/20252246Linux: 115. eBPF (bpf2go) - ARRAY / HASH map 기본 사용법
13892정성태2/24/20253008닷넷: 2325. C# - PowerShell과 연동하는 방법파일 다운로드1
13891정성태2/23/20252528닷넷: 2324. C# - 프로세스의 성능 카운터용 인스턴스 이름을 구하는 방법파일 다운로드1
13890정성태2/21/20252347닷넷: 2323. C# - 프로세스 메모리 중 Private Working Set 크기를 구하는 방법(Win32 API)파일 다운로드1
13889정성태2/20/20253121닷넷: 2322. C# - 프로세스 메모리 중 Private Working Set 크기를 구하는 방법(성능 카운터, WMI) [1]파일 다운로드1
13888정성태2/17/20252523닷넷: 2321. Blazor에서 발생할 수 있는 async void 메서드의 부작용
13887정성태2/17/20253106닷넷: 2320. Blazor의 razor 페이지에서 code-behind 파일로 코드를 분리 및 DI 사용법
13886정성태2/15/20252577VS.NET IDE: 196. Visual Studio - Code-behind처럼 cs 파일을 그룹핑하는 방법
13885정성태2/14/20253264닷넷: 2319. ASP.NET Core Web API / Razor 페이지에서 발생할 수 있는 async void 메서드의 부작용
13884정성태2/13/20253551닷넷: 2318. C# - (async Task가 아닌) async void 사용 시의 부작용파일 다운로드1
13883정성태2/12/20253304닷넷: 2317. C# - Memory Mapped I/O를 이용한 PCI Configuration Space 정보 열람파일 다운로드1
13882정성태2/10/20252600스크립트: 70. 파이썬 - oracledb 패키지 연동 시 Thin / Thick 모드
13881정성태2/7/20252842닷넷: 2316. C# - Port I/O를 이용한 PCI Configuration Space 정보 열람파일 다운로드1
13880정성태2/5/20253197오류 유형: 947. sshd - Failed to start OpenSSH server daemon.
13879정성태2/5/20253433오류 유형: 946. Ubuntu - N: Updating from such a repository can't be done securely, and is therefore disabled by default.
13878정성태2/3/20253214오류 유형: 945. Windows - 최대 절전 모드 시 DRIVER_POWER_STATE_FAILURE 발생 (pacer.sys)
13877정성태1/25/20253266닷넷: 2315. C# - PCI 장치 열거 (레지스트리, SetupAPI)파일 다운로드1
13876정성태1/25/20253729닷넷: 2314. C# - ProcessStartInfo 타입의 Arguments와 ArgumentList파일 다운로드1
13875정성태1/24/20253170스크립트: 69. 파이썬 - multiprocessing 패키지의 spawn 모드로 동작하는 uvicorn의 workers
13874정성태1/24/20253578스크립트: 68. 파이썬 - multiprocessing Pool의 기본 프로세스 시작 모드(spawn, fork)
13873정성태1/23/20252999디버깅 기술: 217. WinDbg - PCI 장치 열거파일 다운로드1
13872정성태1/23/20252910오류 유형: 944. WinDbg - 원격 커널 디버깅이 연결은 되지만 Break (Ctrl + Break) 키를 눌러도 멈추지 않는 현상
13871정성태1/22/20253307Windows: 278. Windows - 윈도우를 다른 모니터 화면으로 이동시키는 단축키 (Window + Shift + 화살표)
13870정성태1/18/20253759개발 환경 구성: 741. WinDbg - 네트워크 커널 디버깅이 가능한 NIC 카드 지원 확대
13869정성태1/18/20253480개발 환경 구성: 740. WinDbg - _NT_SYMBOL_PATH 환경 변수에 설정한 경로로 심벌 파일을 다운로드하지 않는 경우
13868정성태1/17/20253121Windows: 277. Hyper-V - Windows 11 VM의 Enhanced Session 모드로 로그인을 할 수 없는 문제
1  [2]  3  4  5  6  7  8  9  10  11  12  13  14  15  ...