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

비밀번호

댓글 작성자
 




... 61  62  63  64  [65]  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12314정성태9/7/202019959오류 유형: 645. IIS HTTPERR - Timer_MinBytesPerSecond, Timer_ConnectionIdle 로그
12313정성태9/6/202019450개발 환경 구성: 509. Logstash - 사용자 정의 grok 패턴 추가를 이용한 IIS 로그 처리
12312정성태9/5/202026416개발 환경 구성: 508. Logstash 기본 사용법 [2]
12311정성태9/4/202018967.NET Framework: 937. C# - 간단하게 만들어 보는 리눅스의 nc(netcat), json_pp 프로그램 [1]
12310정성태9/3/202018280오류 유형: 644. Windows could not start the Elasticsearch 7.9.0 (elasticsearch-service-x64) service on Local Computer.
12309정성태9/3/202017497개발 환경 구성: 507. Elasticsearch 6.6부터 기본 추가된 한글 형태소 분석기 노리(nori) 사용법
12308정성태9/2/202019355개발 환경 구성: 506. Windows - 단일 머신에서 단일 바이너리로 여러 개의 ElasticSearch 노드를 실행하는 방법
12307정성태9/2/202020232오류 유형: 643. curl - json_parse_exception / Invalid UTF-8 start byte
12306정성태9/1/202017496오류 유형: 642. SQL Server 시작 오류 - error code 10013
12305정성태9/1/202019344Windows: 172. "Administered port exclusions"이 아닌 포트 범위 항목을 삭제하는 방법
12304정성태8/31/202017756개발 환경 구성: 505. 윈도우 - (네트워크 어댑터의 우선순위로 인한) 열거되는 IP 주소 순서를 조정하는 방법
12303정성태8/30/202018058개발 환경 구성: 504. ETW - 닷넷 프레임워크 기반의 응용 프로그램을 위한 명령행 도구 etrace 소개
12302정성태8/30/202018245.NET Framework: 936. C# - ETW 관련 Win32 API 사용 예제 코드 (5) - Private Logger파일 다운로드1
12301정성태8/30/202017815오류 유형: 641. error MSB4044: The "Fody.WeavingTask" task was not given a value for the required parameter "IntermediateDir".
12300정성태8/29/202018108.NET Framework: 935. C# - ETW 관련 Win32 API 사용 예제 코드 (4) CLR ETW Consumer파일 다운로드1
12299정성태8/27/202018836.NET Framework: 934. C# - ETW 관련 Win32 API 사용 예제 코드 (3) ETW Consumer 구현파일 다운로드1
12298정성태8/27/202018350오류 유형: 640. livekd - Could not resolve symbols for ntoskrnl.exe: MmPfnDatabase
12297정성태8/25/202017828개발 환경 구성: 503. SHA256 테스트 인증서 생성 방법
12296정성태8/24/202018930.NET Framework: 933. C# - ETW 관련 Win32 API 사용 예제 코드 (2) NT Kernel Logger파일 다운로드1
12295정성태8/24/202017813오류 유형: 639. Bitvise - Address is already in use; bind() in ListeningSocket::StartListening() failed: Windows error 10013: An attempt was made to access a socket ,,,
12293정성태8/24/202018773Windows: 171. "Administered port exclusions" 설명
12292정성태8/20/202021766.NET Framework: 932. C# - ETW 관련 Win32 API 사용 예제 코드 (1)파일 다운로드2
12291정성태8/15/202018722오류 유형: 638. error 1297: Device driver does not install on any devices, use primitive driver if this is intended.
12290정성태8/11/202019922.NET Framework: 931. C# - IP 주소에 따른 국가별 위치 확인 [8]파일 다운로드1
12289정성태8/6/202016887개발 환경 구성: 502. Portainer에 윈도우 컨테이너를 등록하는 방법
12288정성태8/5/202016012오류 유형: 637. WCF - The protocol 'net.tcp' does not have an implementation of HostedTransportConfiguration type registered.
... 61  62  63  64  [65]  66  67  68  69  70  71  72  73  74  75  ...