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)
13339정성태5/6/20235060닷넷: 2113. C# 12 - 기본 생성자(Primary Constructors)
13338정성태5/6/20234422닷넷: 2112. C# 12 - 기본 람다 매개 변수파일 다운로드1
13337정성태5/5/20234933Linux: 59. dockerfile - docker exec로 container에 접속 시 자동으로 실행되는 코드 적용
13336정성태5/4/20234755.NET Framework: 2111. C# - 바이너리 출력 디렉터리와 연관된 csproj 설정
13335정성태4/30/20234781.NET Framework: 2110. C# - FFmpeg.AutoGen 라이브러리를 이용한 기본 프로젝트 구성 - Windows Forms파일 다운로드1
13334정성태4/29/20234448Windows: 250. Win32 C/C++ - Modal 메시지 루프 내에서 SetWindowsHookEx를 이용한 Thread 메시지 처리 방법
13333정성태4/28/20233885Windows: 249. Win32 C/C++ - 대화창 템플릿을 런타임에 코딩해서 사용파일 다운로드1
13332정성태4/27/20233950Windows: 248. Win32 C/C++ - 대화창을 위한 메시지 루프 사용자 정의파일 다운로드1
13331정성태4/27/20233949오류 유형: 856. dockerfile - 구 버전의 .NET Core 이미지 사용 시 apt update 오류
13330정성태4/26/20233609Windows: 247. Win32 C/C++ - CS_GLOBALCLASS 설명
13329정성태4/24/20233843Windows: 246. Win32 C/C++ - 직접 띄운 대화창 템플릿을 위한 Modal 메시지 루프 생성파일 다운로드1
13328정성태4/19/20233478VS.NET IDE: 184. Visual Studio - Fine Code Coverage에서 동작하지 않는 Fake/Shim 테스트
13327정성태4/19/20233878VS.NET IDE: 183. C# - .NET Core/5+ 환경에서 Fakes를 이용한 단위 테스트 방법
13326정성태4/18/20235366.NET Framework: 2109. C# - 닷넷 응용 프로그램에서 SQLite 사용 (System.Data.SQLite) [1]파일 다운로드1
13325정성태4/18/20234637스크립트: 48. 파이썬 - PostgreSQL의 with 문을 사용한 경우 연결 개체 누수
13324정성태4/17/20234460.NET Framework: 2108. C# - Octave의 "save -binary ..."로 생성한 바이너리 파일 분석파일 다운로드1
13323정성태4/16/20234406개발 환경 구성: 677. Octave에서 Excel read/write를 위한 io 패키지 설치
13322정성태4/15/20235222VS.NET IDE: 182. Visual Studio - 32비트로만 빌드된 ActiveX와 작업해야 한다면?
13321정성태4/14/20234024개발 환경 구성: 676. WSL/Linux Octave - Python 스크립트 연동
13320정성태4/13/20233933개발 환경 구성: 675. Windows Octave 8.1.0 - Python 스크립트 연동
13319정성태4/12/20234422개발 환경 구성: 674. WSL 2 환경에서 GNU Octave 설치
13318정성태4/11/20234306개발 환경 구성: 673. JetBrains IDE에서 "Squash Commits..." 메뉴가 비활성화된 경우
13317정성태4/11/20234362오류 유형: 855. WSL 2 Ubuntu 20.04 - error: cannot communicate with server: Post http://localhost/v2/snaps/...
13316정성태4/10/20233621오류 유형: 854. docker-compose 시 "json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)" 오류 발생
13315정성태4/10/20233872Windows: 245. Win32 - 시간 만료를 갖는 컨텍스트 메뉴와 윈도우 메시지의 영역별 정의파일 다운로드1
13314정성태4/9/20234025개발 환경 구성: 672. DosBox를 이용한 Turbo C, Windows 3.1 설치
1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...