Что означает код BSOD 25 (BAD_POOL_HEADER)?

 
Также может означать:
КонстантаТипОС
ERROR_SEEKОшибка WindowsWindows
KERN_MEMORY_RESTART_COPYКод возврата ядра macOSmacOS
ippStsInsufficientEntropyСтатус Intel IPPЛюбая
ENOTTYerrnoЛюбая
Предыдущий Следующий
REFERENCE_BY_POINTER MEMORY_MANAGEMENT

BAD_POOL_HEADER

Bug check BAD_POOL_HEADER имеет значение 0x00000019 и означает повреждение заголовка pool.

Важно

Параметры BAD_POOL_HEADER

Parameter 1 задаёт тип нарушения; смысл остальных параметров зависит от его значения.

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки

0x2

Проверяемая запись pool

Размер блока pool

0

Проверка шаблона Special Pool завершилась ошибкой.

Вероятно, владелец повредил блок pool.

0x3

Проверяемая запись pool

Считанное значение flink значение freelist

Считанное значение blink значение freelist

Freelist pool повреждён.

В исправном списке значения Parameters 2, 3 и 4 должны совпадать.

0x5

Одна из записей pool

Зарезервировано

Другая запись pool

Заголовки двух соседних записей pool противоречат друг другу; как минимум один повреждён.

0x6

Одна неправильно вычисленная запись

Зарезервировано

Повреждённая запись, вызвавшая ошибку вычисления

Поле previous size заголовка блока pool слишком велико.

0x7

0

Зарезервировано

Повреждённая запись pool

Размер в заголовке блока pool повреждён.

0x8

0

Зарезервировано

Повреждённая запись pool

Размер в заголовке блока pool равен нулю.

0x9

Одна неправильно вычисленная запись

Зарезервировано

Повреждённая запись, вызвавшая ошибку вычисления

Размер в заголовке блока pool повреждён и слишком велик.

0xA

Запись pool, которую следовало найти

Зарезервировано

Виртуальный адрес страницы, где должна была находиться запись pool

Размер в заголовке блока pool повреждён.

0xD, 0xE, 0xF, 0x23, 0x24, 0x25

Зарезервировано

Зарезервировано

Зарезервировано

Заголовок освобождённого блока был изменён после освобождения. Обычно виноват не прежний владелец, а переполнение предшествующего блока.

0x20

Запись pool, которую следовало найти

Следующая запись pool

Зарезервировано

Размер в заголовке блока pool повреждён.

0X21

Освобождаемый указатель pool

Число байтов, выделенных блоку pool

Повреждённое значение после блока pool

Данные после освобождаемого блока pool повреждены; обычно consumer из call stack вышел за границу блока.

0X22

Освобождаемый адрес

Зарезервировано

Зарезервировано

Для освобождаемого адреса нет tracking entry. Обычно stack пытается освободить уже освобождённый или никогда не выделявшийся pointer.

Причина BAD_POOL_HEADER

К моменту текущего запроса pool уже повреждён.

Причиной не обязательно является текущая вызывающая сторона.

Устранение BAD_POOL_HEADER

Для поиска причины пройдите внутренние links pool с помощью kernel debugger.

Затем включите Special Pool для подозреваемых pool tags или опцию Driver Verifier Special Pool для подозреваемого driver. Расширение !analyze может помочь определить driver, но при повреждении pool это удаётся не всегда.

Выполните действия из раздела Blue Screen Data для сбора Stop Code Parameters и определения конкретного поведения кода, которое нужно найти.

Driver Verifier

Driver Verifier проверяет drivers в реальном времени и создаёт исключение при ошибке выполнения. Запустите менеджер командой Verifier и проверяйте минимально необходимый набор drivers из-за дополнительной нагрузки.

Диагностика памяти Windows

Если bug check появляется непоследовательно, возможна неисправность физической памяти.

Запустите Windows Memory Diagnostics. После теста проверьте Event Viewer, журнал System и запись MemoryDiagnostics-Results.


Нужно найти другой код? Найти другой код состояния или ошибки.