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

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
12999정성태3/10/20226906.NET Framework: 1175. Visual Studio - 프로젝트 또는 솔루션의 Clean 작업 시 응용 프로그램에서 생성한 파일을 함께 삭제파일 다운로드1
12998정성태3/10/20226391.NET Framework: 1174. C# - ELEMENT_TYPE_FNPTR 유형의 사용 예
12997정성태3/10/202211008오류 유형: 799. Oracle.ManagedDataAccess - "ORA-01882: timezone region not found" 오류가 발생하는 이유
12996정성태3/9/202215930VS.NET IDE: 175. Visual Studio - 인텔리센스에서 오버로드 메서드를 키보드로 선택하는 방법
12995정성태3/8/20228322.NET Framework: 1173. .NET에서 Producer/Consumer를 구현한 BlockingCollection<T>
12994정성태3/8/20227559오류 유형: 798. WinDbg - Failed to load data access module, 0x80004002
12993정성태3/4/20227418.NET Framework: 1172. .NET에서 Producer/Consumer를 구현하는 기초 인터페이스 - IProducerConsumerCollection<T>
12992정성태3/3/20228927.NET Framework: 1171. C# - BouncyCastle을 사용한 암호화/복호화 예제파일 다운로드1
12991정성태3/2/20228022.NET Framework: 1170. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 transcode_aac.c 예제 포팅
12990정성태3/2/20227718오류 유형: 797. msbuild - The BaseOutputPath/OutputPath property is not set for project '[...].vcxproj'
12989정성태3/2/20227169오류 유형: 796. mstest.exe - System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip
12988정성태3/2/20226121오류 유형: 795. CI 환경에서 Docker build 시 csproj의 Link 파일에 대한 빌드 오류
12987정성태3/1/20227657.NET Framework: 1169. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 demuxing_decoding.c 예제 포팅
12986정성태2/28/20228461.NET Framework: 1168. C# -IIncrementalGenerator를 적용한 Version 2 Source Generator 실습 [1]
12985정성태2/28/20228369.NET Framework: 1167. C# -Version 1 Source Generator 실습
12984정성태2/24/20227428.NET Framework: 1166. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 filtering_video.c 예제 포팅
12983정성태2/24/20227512.NET Framework: 1165. .NET Core/5+ 빌드 시 runtimeconfig.json에 설정을 반영하는 방법
12982정성태2/24/20227456.NET Framework: 1164. HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
12981정성태2/23/20226964VC++: 154. C/C++ 언어의 문자열 Literal에 인덱스 적용하는 구문 [1]
12980정성태2/23/20227831.NET Framework: 1163. C# - 윈도우 환경에서 usleep을 호출하는 방법 [2]
12979정성태2/22/202210365.NET Framework: 1162. C# - 인텔 CPU의 P-Core와 E-Core를 구분하는 방법 [1]파일 다운로드2
12978정성태2/21/20227663.NET Framework: 1161. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 resampling_audio.c 예제 포팅
12977정성태2/21/202211389.NET Framework: 1160. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 qsv 디코딩
12976정성태2/21/20226980VS.NET IDE: 174. Visual C++ - "External Dependencies" 노드 비활성화하는 방법
12975정성태2/20/20228706.NET Framework: 1159. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 qsvdec.c 예제 포팅파일 다운로드1
12974정성태2/20/20226776.NET Framework: 1158. C# - SqlConnection의 최소 Pooling 수를 초과한 DB 연결은 언제 해제될까요?
... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...