BAD_POOL_HEADER 0x19
Nastąpił błąd w puli stronicowania pamięci.
Ten błąd zawsze związany jest z nieprawidłowym działaniem sterownika a raczej przyczyną jego nieprawidłowego działania czyli pośrednio może to być hardware np fizyczne uszkodzenie RAM, przegrzewający się chipset na płycie lub błędy programistyczne w sterownikach.
W dużym skrócie jest to pamięć wirtualna do której dostęp ma jądro systemowe i jest używana jako przestrzeń magazynowa dla sterowników.
Popatrzmy na pierwszy argument bsoda z listy
0x22
Z opisu ze strony
http://msdn.microsoft.com/en-us/library/...85%29.aspx
Cytat:The address being freed
An address being freed does not have a tracking entry. This is usually because the call stack is trying to free a pointer that either has already been freed or was never allocated to begin with.
Co w tłumaczeniu daje:
Adres do obiektu (referencja) w pamięci została uwolniona.
Uwolniony adres nie posiada wpisu śledzenia. Dzieje się tak ponieważ na stosie próbuje się uwolnić wskaźnik który już został uwolniony (jego licznik nie może być -1, referencja +1 natomiast dereferencja/uwolnienie -1) lub wręcz nigdy nie został zaalokowany do dalszej pracy na nim.
A najkrócej mówiąc błąd ten pojawia się w momencie próby użycia referencji (czyli sterownik potrzebuje dostać się do utworzonego obiektu) gdzie danych już nie ma w stronie pamięci lub następuje ponowne uwolnienie już zwolnionego obiektu.
Patrząc wstecz jest to przypadek mocno związany z poprzednim bsodem powodującym wyciek pamięci.
Na stosie zauważyłem funkcję nt!ExFreePoolWithTag która się odnosi do dealokowania bloków w pamięci stronicowanej za pomocą tagów czyli utworzonych obiektów przez sterowniki i odwołujących się potem do nich.
Bsod zawiera zbyt mało informacji co do tego aby poznać faktyczną przyczynę.
Przydałby się jeszcze kilkugodzinny memtest. Do sprawdzenia ustawienia timingów pamięci i ewentualna podmiana jeśli test przeszedłby pomyślnie.
Kod:
Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C: \Users\user\Desktop\bsody\100\071614-17362-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: symsrv*symsrv.dll*c: \symb*http: //msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.18113.amd64fre.win7sp1_gdr.130318-1533
Machine Name:
Kernel base = 0xfffff800`02e4e000 PsLoadedModuleList = 0xfffff800`03091670
Debug session time: Wed Jul 16 20: 39: 45.188 2014 (UTC + 2: 00)
System Uptime: 1 days 14: 11: 16.000
Loading Kernel Symbols
...............................................................
................................................................
........................
Loading User Symbols
Loading unloaded module list
....
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 19, {22, ff00000000000000, 0, 0}
GetPointerFromAddress: unable to read from fffff800030fb100
GetUlongFromAddress: unable to read from fffff80003069a38
Probably caused by : ntkrnlmp.exe ( nt! ? : FNODOBFM: `string'+72e6 )
Followup: MachineOwner
---------
*******************************************************************************
* *
* 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: ff00000000000000
Arg3: 0000000000000000
Arg4: 0000000000000000
Debugging Details:
------------------
GetUlongFromAddress: unable to read from fffff80003069a38
BUGCHECK_STR: 0x19_22
POOL_ADDRESS: ff00000000000000
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
PROCESS_NAME: svchost.exe
CURRENT_IRQL: 2
LAST_CONTROL_TRANSFER: from fffff80002e574de to fffff80002ec3c00
STACK_TEXT:
fffff880`02b05208 fffff800`02e574de : 00000000`00000019 00000000`00000022 ff000000`00000000 00000000`00000000 : nt!KeBugCheckEx
fffff880`02b05210 fffff800`02ff754a : 00000000`00000000 fffff880`02b05360 fffff880`02b052e0 fffff8a0`00000001 : nt! ? : FNODOBFM: `string'+0x72e6
fffff880`02b052a0 fffff800`031bbc1c : ff000000`00000000 fffff880`02b055e0 00000000`00000000 fffff6fc`00000000 : nt!ExFreePoolWithTag+0x46a
fffff880`02b05350 fffff800`031bbe7e : fffffa80`066f5b01 fffffa80`077ff010 fffffa80`00000001 fffffa80`09216900 : nt!ObpWaitForMultipleObjects+0x3a6
fffff880`02b05820 fffff800`02ec2e93 : fffffa80`08e76060 00000000`01a7f558 fffff880`02b05a88 00000000`00000000 : nt!NtWaitForMultipleObjects+0xe5
fffff880`02b05a70 00000000`779818ca : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
00000000`01a7f538 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x779818ca
STACK_COMMAND: kb
FOLLOWUP_IP:
nt! ? : FNODOBFM: `string'+72e6
fffff800`02e574de cc int 3
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: nt! ? : FNODOBFM: `string'+72e6
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 5147d9c6
FAILURE_BUCKET_ID: X64_0x19_22_nt!_??_: FNODOBFM: _string_+72e6
BUCKET_ID: X64_0x19_22_nt!_??_: FNODOBFM: _string_+72e6
Followup: MachineOwner
---------
MEMORY_MANAGEMENT (1a)
Nastąpiło uszkodzenie struktury pamięci stronicowanej - problemy sprzętowe lub nieprawidłowa alokacja obiektu do pamięci, błędy referencji, błędy dealokacji.
Nie znalazłem w opisówkach co oznacza pierwszy argument 5002.
Kod:
Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C: \Users\user\Desktop\bsody\100\071214-17394-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: symsrv*symsrv.dll*c: \symb*http: //msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.18113.amd64fre.win7sp1_gdr.130318-1533
Machine Name:
Kernel base = 0xfffff800`02e50000 PsLoadedModuleList = 0xfffff800`03093670
Debug session time: Sat Jul 12 17: 49: 24.505 2014 (UTC + 2: 00)
System Uptime: 0 days 4: 18: 05.707
Loading Kernel Symbols
...............................................................
................................................................
...........................
Loading User Symbols
Loading unloaded module list
....
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 1A, {5002, fffff70001080000, b4e, 35000968fffffffe}
Probably caused by : ntkrnlmp.exe ( nt! ? : FNODOBFM: `string'+45f68 )
Followup: MachineOwner
---------
2: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
MEMORY_MANAGEMENT (1a)
# Any other values for parameter 1 must be individually examined.
Arguments:
Arg1: 0000000000005002, The subtype of the bugcheck.
Arg2: fffff70001080000
Arg3: 0000000000000b4e
Arg4: 35000968fffffffe
Debugging Details:
------------------
BUGCHECK_STR: 0x1a_5002
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
PROCESS_NAME: svchost.exe
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from fffff80002e5f6eb to fffff80002ec5c00
STACK_TEXT:
fffff880`0879d978 fffff800`02e5f6eb : 00000000`0000001a 00000000`00005002 fffff700`01080000 00000000`00000b4e : nt!KeBugCheckEx
fffff880`0879d980 fffff800`02ec3d2e : 00000000`00000001 00000000`09007000 00000000`00000001 00000000`08fc9c68 : nt! ? : FNODOBFM: `string'+0x45f68
fffff880`0879dae0 000007fe`ff41104c : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x16e
00000000`08c8c318 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x7fe`ff41104c
STACK_COMMAND: kb
FOLLOWUP_IP:
nt! ? : FNODOBFM: `string'+45f68
fffff800`02e5f6eb cc int 3
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: nt! ? : FNODOBFM: `string'+45f68
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 5147d9c6
FAILURE_BUCKET_ID: X64_0x1a_5002_nt!_??_: FNODOBFM: _string_+45f68
BUCKET_ID: X64_0x1a_5002_nt!_??_: FNODOBFM: _string_+45f68
Followup: MachineOwner
---------
Podobny tylko wyzwolony przez BattleNet'a miał argument nr 31
The image relocation fix-up table or code stream has been corrupted. This is probably a hardware error.
Znowuż SYSTEM_SERVICE_EXCEPTION (3b)
Tym razem ze sterownikiem fltmgr.sys - Microsoft Filesystem Filter Manager Driver
http://msdn.microsoft.com/en-us/library/...85%29.aspx
Kod:
Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C: \Users\user\Desktop\bsody\100\070714-15943-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: symsrv*symsrv.dll*c: \symb*http: //msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.18113.amd64fre.win7sp1_gdr.130318-1533
Machine Name:
Kernel base = 0xfffff800`02e49000 PsLoadedModuleList = 0xfffff800`0308c670
Debug session time: Mon Jul 7 05: 03: 15.460 2014 (UTC + 2: 00)
System Uptime: 0 days 1: 15: 56.272
Loading Kernel Symbols
...............................................................
................................................................
...........................
Loading User Symbols
Loading unloaded module list
....
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 3B, {c0000005, fffff88001125039, fffff8800b4f6be0, 0}
Probably caused by : fltmgr.sys ( fltmgr!GetContextFromStreamList+99 )
Followup: MachineOwner
---------
2: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff88001125039, Address of the instruction which caused the bugcheck
Arg3: fffff8800b4f6be0, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero.
Debugging Details:
------------------
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Instrukcja spod 0x%08lx odwo
FAULTING_IP:
fltmgr!GetContextFromStreamList+99
fffff880`01125039 488b4820 mov rcx,qword ptr [rax+20h]
CONTEXT: fffff8800b4f6be0 -- (.cxr 0xfffff8800b4f6be0)
rax=ff00000000000000 rbx=0000000000000000 rcx=ff00000000000000
rdx=fffffa800762abb0 rsi=fffffa8008b8b060 rdi=fffffa8008b8b010
rip=fffff88001125039 rsp=fffff8800b4f75c0 rbp=fffff8800b4f7710
r8=0000000000000000 r9=fffff8800b4f76f8 r10=fffffa8008b8b018
r11=0000000000000011 r12=fffff8800b4f76f8 r13=fffffa8008c0ece0
r14=0000000000000000 r15=fffffa800762abb0
iopl=0 nv up ei ng nz na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010286
fltmgr!GetContextFromStreamList+0x99:
fffff880`01125039 488b4820 mov rcx,qword ptr [rax+20h] ds: 002b: ff000000`00000020=?
Resetting default scope
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x3B
PROCESS_NAME: LoLLauncher.ex
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from 0000000000000000 to fffff88001125039
STACK_TEXT:
fffff880`0b4f75c0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : fltmgr!GetContextFromStreamList+0x99
FOLLOWUP_IP:
fltmgr!GetContextFromStreamList+99
fffff880`01125039 488b4820 mov rcx,qword ptr [rax+20h]
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: fltmgr!GetContextFromStreamList+99
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: fltmgr
IMAGE_NAME: fltmgr.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4ce7929c
STACK_COMMAND: .cxr 0xfffff8800b4f6be0 ; kb
FAILURE_BUCKET_ID: X64_0x3B_fltmgr!GetContextFromStreamList+99
BUCKET_ID: X64_0x3B_fltmgr!GetContextFromStreamList+99
Followup: MachineOwner
---------