nvlddmkm.sys의 BAD_POOL_HEADER BSOD 문제
최대 절전 모드에서 돌아왔는데, 갑자기 블루 스크린(Microsoft’s Blue Screen of Death)이 뜨면서 화면에는 간략하게 "BAD POOL HEADER" 오류가 발생했다고 나옵니다. 해당 문제를 발생한 드라이버를 찾아야 하는데, 아쉽게도 이벤트 로그에는 나오지 않지만,
Log Name: System
Source: Microsoft-Windows-WER-SystemErrorReporting
Date: 2020-07-08 오후 10:11:44
Event ID: 1001
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: TESTPC
Description:
The computer has rebooted from a bugcheck. The bugcheck was: 0x00000019 (0x0000000000000022, 0xffffba0a4efc9000, 0x0000000000000000, 0x0000000000000000). A dump was saved in: C:\WINDOWS\MEMORY.DMP. Report Id: 49d31bd9-0d8c-4b2e-8884-b6a101ec865c.
"C:\WINDOWS\MEMORY.DMP" 경로의 덤프 파일을 windbg로 열어 "!analyze -v" 명령어만 내려주면 해당 드라이버를 찾을 수 있습니다.
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
BAD_POOL_HEADER (19)
The pool is already corrupt at the time of the current request.
This may or may not be due to the caller.
The internal pool links must be walked to figure out a possible cause of
the problem, and then special pool applied to the suspect tags or the driver
verifier to a suspect driver.
Arguments:
Arg1: 0000000000000022,
Arg2: ffffba0a4efc9000
Arg3: 0000000000000000
Arg4: 0000000000000000
Debugging Details:
------------------
KEY_VALUES_STRING: 1
PROCESSES_ANALYSIS: 1
SERVICE_ANALYSIS: 1
STACKHASH_ANALYSIS: 1
TIMELINE_ANALYSIS: 1
DUMP_CLASS: 1
DUMP_QUALIFIER: 401
BUILD_VERSION_STRING: 19041.1.amd64fre.vb_release.191206-1406
SYSTEM_MANUFACTURER: Gigabyte Technology Co., Ltd.
SYSTEM_PRODUCT_NAME: Z87-HD3
SYSTEM_SKU: To be filled by O.E.M.
SYSTEM_VERSION: To be filled by O.E.M.
BIOS_VENDOR: American Megatrends Inc.
BIOS_VERSION: F6
BIOS_DATE: 08/03/2013
BASEBOARD_MANUFACTURER: Gigabyte Technology Co., Ltd.
BASEBOARD_PRODUCT: Z87-HD3
BASEBOARD_VERSION: To be filled by O.E.M.
DUMP_TYPE: 1
BUGCHECK_P1: 22
BUGCHECK_P2: ffffba0a4efc9000
BUGCHECK_P3: 0
BUGCHECK_P4: 0
BUGCHECK_STR: 0x19_22
POOL_ADDRESS: ffffba0a4efc9000 Nonpaged pool
CPU_COUNT: 4
CPU_MHZ: d40
CPU_VENDOR: GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 3c
CPU_STEPPING: 3
CPU_MICROCODE: 6,3c,3,0 (F,M,S,R) SIG: 27'00000000 (cache) 27'00000000 (init)
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXNTFS: 1 (!blackboxntfs)
BLACKBOXPNP: 1 (!blackboxpnp)
BLACKBOXWINLOGON: 1
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
PROCESS_NAME: devenv.exe
CURRENT_IRQL: 2
ANALYSIS_SESSION_HOST: TESTPC
ANALYSIS_SESSION_TIME: 07-08-2020 22:16:42.0142
ANALYSIS_VERSION: 10.0.18362.1 amd64fre
LAST_CONTROL_TRANSFER: from fffff8056fe17b72 to fffff8056fddda20
STACK_TEXT:
ffffcf04`205a9a88 fffff805`6fe17b72 : 00000000`00000019 00000000`00000022 ffffba0a`4efc9000 00000000`00000000 : nt!KeBugCheckEx
ffffcf04`205a9a90 fffff805`703c2019 : 00000000`00000527 00000000`00000078 ffffcf04`4d52564e 01000000`00100000 : nt!ExFreeHeapPool+0x1d7462
ffffcf04`205a9b70 fffff805`795a514b : ffffba0a`4efc9000 00000000`00008000 ffffba0a`25233a70 fffff805`795a450f : nt!ExFreePool+0x9
ffffcf04`205a9ba0 fffff805`78f742bf : ffffba0a`4efc9000 00000000`00008000 ffffcf04`4d52564e fffff805`78f21978 : nvlddmkm+0x73514b
ffffcf04`205a9be0 fffff805`78f89e7f : 00000000`00000002 fffff805`7971b140 00000000`00000000 00000000`00000000 : nvlddmkm+0x1042bf
ffffcf04`205a9c10 fffff805`78f8a07c : ffffcf04`205a9c90 00000000`00000004 ffffcf04`205a9d10 00000000`0000000c : nvlddmkm+0x119e7f
ffffcf04`205a9c40 fffff805`78f74b38 : ffffba0a`4efc9000 fffff805`78f748ee 00000000`00000008 fffff805`6fcc6179 : nvlddmkm+0x11a07c
ffffcf04`205a9c70 fffff805`78f75342 : 00000000`00000006 ffffcf04`205a9de0 00000000`00000006 fffff805`796990b8 : nvlddmkm+0x104b38
ffffcf04`205a9cb0 fffff805`78f751d2 : 00000000`00000002 00000000`00000001 ffffba0a`486d0080 00000000`00000000 : nvlddmkm+0x105342
ffffcf04`205a9ce0 fffff805`78f74e79 : 00000000`00000040 ffffba0a`56415e86 ffffba0a`56415ec6 ffffba0a`25422000 : nvlddmkm+0x1051d2
ffffcf04`205aa170 fffff805`78ee7753 : 00000000`00000040 00000000`3f1e0000 00000000`00000000 00000000`00000000 : nvlddmkm+0x104e79
ffffcf04`205aa1a0 fffff805`798afdc8 : 00000000`00000003 ffffcf04`205aa310 ffffba0a`5640d000 00000000`00000000 : nvlddmkm+0x77753
ffffcf04`205aa210 fffff805`798ac43e : 00000000`00000000 ffffba0a`5640cfe0 ffffcf04`205aa910 ffffba0a`5640cfe8 : nvlddmkm+0xa3fdc8
ffffcf04`205aa580 fffff805`799322af : ffffba0a`25422000 ffffba0a`25422000 ffffba0a`3421fad0 ffffcf04`205aa910 : nvlddmkm+0xa3c43e
ffffcf04`205aa680 fffff805`752ec987 : fffff805`7993222b ffffba0a`27ec6000 ffffba0a`3421fad0 ffff8608`592e69d0 : nvlddmkm+0xac22af
ffffcf04`205aa710 fffff805`752ed5c7 : ffffba0a`27ec6000 ffffcf04`00000001 ffffba0a`27ec6000 ffff8608`592e69d0 : dxgkrnl!DXGADAPTER::DdiQueryAdapterInfo+0xfb
ffffcf04`205aa7d0 fffff805`752eca7e : 00000000`777b4630 ffffba0a`490db080 ffff81c6`45801b68 00007ffc`754f6470 : dxgkrnl!DxgkQueryAdapterInfoInternal+0xb37
ffffcf04`205aaad0 fffff805`6fdef378 : ffffba0a`490d0000 ffffba0a`319d6360 ffffcf04`205aab80 00000000`00000000 : dxgkrnl!DxgkQueryAdapterInfo+0xe
ffffcf04`205aab00 00007ffc`755043c4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x28
00000000`0564e428 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffc`755043c4
THREAD_SHA1_HASH_MOD_FUNC: a5b3d436669db0a1d4585fd0889040c90caa11cd
THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 8399815e479845b86febf552c437b56f2bf473ea
THREAD_SHA1_HASH_MOD: 27e35f11422697bca8fac6c73b7822d9a93bced2
FOLLOWUP_IP:
nvlddmkm+73514b
fffff805`795a514b f048ff8ea8000000 lock dec qword ptr [rsi+0A8h]
FAULT_INSTR_CODE: 8eff48f0
SYMBOL_STACK_INDEX: 3
SYMBOL_NAME: nvlddmkm+73514b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nvlddmkm
IMAGE_NAME: nvlddmkm.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 5e3218c0
STACK_COMMAND: .thread ; .cxr ; kb
BUCKET_ID_FUNC_OFFSET: 73514b
FAILURE_BUCKET_ID: 0x19_22_nvlddmkm!unknown_function
BUCKET_ID: 0x19_22_nvlddmkm!unknown_function
PRIMARY_PROBLEM_CLASS: 0x19_22_nvlddmkm!unknown_function
TARGET_TIME: 2020-07-08T13:04:56.000Z
OSBUILD: 19041
OSSERVICEPACK: 0
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK: 272
PRODUCT_TYPE: 1
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
OSEDITION: Windows 10 WinNt TerminalServer SingleUserTS
OS_LOCALE:
USER_LCID: 0
OSBUILD_TIMESTAMP: unknown_date
BUILDDATESTAMP_STR: 191206-1406
BUILDLAB_STR: vb_release
BUILDOSVER_STR: 10.0.19041.1.amd64fre.vb_release.191206-1406
ANALYSIS_SESSION_ELAPSED_TIME: 714b
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:0x19_22_nvlddmkm!unknown_function
FAILURE_ID_HASH: {790b99a5-468c-c9f2-6579-8b7f26b8885e}
Followup: MachineOwner
---------
물론, 문제의 상황에 따라 꼭 저기 출력된 "nvlddmkm.sys" 파일이 원인이라고 볼 수는 없습니다. 하지만, 사용자 입장에서 저 문제를 분석할만한 능력이 안 되므로 ^^ 일단 믿고 가는 수밖에 없습니다.
다행히 "nvlddmkm.sys" 모듈은 NVidia의 그래픽 device driver 구성요소이기 때문에 이런 경우 device driver를 업그레이드 해보는 조치를 취할 수 있습니다. (그렇다고 해서 100% 문제가 해결된다는 보장은 없지만! ^^)
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]