Ошибка 0x000000C5: DRIVER_CORRUPTED_EXPOOL

Синий экран смерти 0x000000C5 указывает, что система попыталась получить доступ к недопустимой памяти при слишком высоком значении IRQL.

ПАРАМЕТРЫ DRIVER_CORRUPTED_EXPOOL:

Ссылка на память;
Значение IRQL во время ссылки;
0 – чтение; 1- запись;
Адрес, который ссылается на память.

ПРИЧИНА

Ядро системы попыталось получить доступ к страничной памяти при высоком значении IRQL. Причина этой проблемы - наверняка драйвер, который повредил системный пул.

В большинстве случаев эта ошибка появляется, если драйвер повреждает небольшое выделение (меньше, чем PAGE_SIZE). При больших повреждений вызывается ошибка 0x000000D0 (DRIVER_CORRUPTED_MMPOOL).

РЕШЕНИЕ

Необходимо выявить драйвер, который вызывает ошибку. Если он не указывается в сообщении синего экрана, то его необходимо определить. Для этого необходимо проанализировать дамп памяти. Как это сделать, описывается в статье “Анализ дампа памяти”. После определения сбойного драйвера его необходимо удалить, переустановить или же откатить на более раннюю версию.

Также выполните все рекомендации, написанные в материале "11 рекомендаций по устранению BSoD".

Ошибка 0x000000C4: DRIVER_VERIFIER_DETECTED_VIOLATION

Синий экран смерти 0x000000C4 – это общий код ошибки для сбоев, найденных верификатором драйвера.

ПАРАМЕТРЫ DRIVER_VERIFIER_DETECTED_VIOLATION:

У данной ошибки 1 параметр указывает на тип нарушения. Остальные параметры зависят от значения первого параметра.

РЕШЕНИЕ

Для устранения ошибки воспользуйтесь статьей "11 рекомендаций по устранению BSoD".

Ошибка 0x000000C1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION

Синий экран смерти 0x000000C1 указывает на попытку драйвера использовать для записи недопустимый раздел специального пула.

ПАРАМЕТРЫ SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION:

     4 параметр указывает тип нарушения, значения остальных параметров зависят от 4-го.

1 параметр

2 параметр

3 параметр

4 параметр

Причина ошибки

Адрес, который драйвер попытался освободить

Зарезервированный параметр

0

0x20

Драйвер попытался освободить пул, который не был выделен.

Адрес, который драйвер попытался освободить

Запрашиваемые байты

Рассчитываемые байты (данные вызывающей стороны)

0x21, 0x22

Драйвер попытался освободить не существующий адрес.

Адрес, который драйвер попытался освободить

Адрес, где обнаружены поврежденные биты

Зарезервированный параметр

0x23

Драйвер освободил адрес, но соседние байты в этой же странице были повреждены.

Адрес, который драйвер попытался освободить

Адрес, где обнаружены поврежденные биты

Зарезервированный параметр

0x24

При освобождении драйвером адреса происходит перезаписывание освободившихся байтов.

Текущий IRQL

Тип пула

Количество байтов

0x30

Драйвер попытался выделить пул при неправильном IRQL.

Текущий IRQL

Тип пула

Адрес, который драйвер попытался освободить

0x31

Драйвер попытался освободить пул в неправильном IRQL.

Адрес, который драйвер попытался освободить

Адрес, где обнаружен один поврежденный бит

Зарезервированный параметр

0x32

Драйвер освободил адрес, но у соседних байтов этой страницы обнаружена ошибка в одном бите.

РЕШЕНИЕ

     Для устранения ошибки воспользуйтесь статьей "11 рекомендаций по устранению BSoD".

Ошибка 0x000000C2: BAD_POOL_CALLER

Синий экран смерти 0x000000C2 указывает, что текущий поток выполнил запрос плохого пула.

ПАРАМЕТРЫ BAD_POOL_CALLER:

     1 параметр указывает тип нарушения.

1 параметр

2 параметр

3 параметр

4 параметр

Причина ошибки

0x00

0

Тип пула

Тег пула

Текущий поток запрашивает выделение нулевого байта пула.

0x01,0x02,0x04

Указатель заголовка пула

Первая часть содержания заголовка пула

0

Повреждение заголовка пула.

0x06

Зарезервированный параметр

Указатель заголовка пула

Заголовок пула

Текущий поток принял попытку освободить уже свободный пул.

0x07

Зарезервированный параметр

Заголовок пула

Адрес блока освобождаемого пула

Текущий поток принял попытку освободить уже свободный пул.

0x08

Текущий IRQL

Тип пула

Размер выделения, в байтах

Текущий поток попытался выделить пул с недопустимым значением IRQL.

0x09

Текущий IRQL

Тип пула

Адрес пула

Текущий поток попытался освободить пул с недопустимым IRQL.

0x0A

Адрес пула

Тег выделения

Тег, используемый в свободном выделении

Текущий поток попытался освободить память пула при помощи неправильного тега. (Память могла принадлежать другому компоненту)

0x0B,0x0C,0x0D

Адрес пула

Тег выделения пула

Неверный указатель квоты процесса

Текущий поток попытался освободить квоту на поврежденном пуле.

0x40

Начальный адрес

Начальный адрес системного адресного пространство

0

Текущий поток попытался освободить пул ядра в адресе пользовательского режима.

0x41

Начальный адрес

Физический фрейм страницы

Самый старший физический фрейм страницы

Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.

0x42,0x43

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

0

0

Текущий поток попытался освободить виртуальный адрес, который никогда не был ни в одном пуле.

0x44

Начальный адрес

Зарезервированный параметр

0

Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.

0x46

Начальный адрес

0

0

Текущий поток попытался освободить недопустимый адрес пула.

0x47

Начальный адрес

Физический фрейм страницы

Самый старший физический фрейм страницы

Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.

0x48

Начальный адрес

Зарезервированный параметр

Зарезервированный параметр

Текущий поток попытался освободить не выделенный адрес пула подкачиваемой памяти

0x50

Начальный адрес

Начало смещения, на страницах пула подкачиваемой памяти

Размер пула подкачиваемой памяти, в байтах

Текущий поток попытался освободить невыделенный адрес пула подкачиваемой памяти.

0x60

Начальный адрес

0

0

Текущий поток попытался освободить недопустимый непрерывный адрес памяти. (Вызов MmFreeContiguousMemory передает плохой указатель)

0x99

Адрес, который освобождается

0

0

Текущий поток попытался освободить пул с недопустимым адресом. (Этот код может  указать на повреждение в заголовке пула)

0x9A

Тип пула

Запрашиваемое количество байтов

Тег пула

Текущий поток отметил запрос выделения MUST_SUCCEED. (Этот тип пула больше не поддерживается)

0x9B

Тип пула

Запрашиваемое количество байтов

Адрес вызова

Текущий поток попытался выделить пул с тегом 0.

0x9C

Тип пула

Запрашиваемое количество байтов

Адрес вызова

Текущий поток попытался выделить пул с тегом "BIG".

0x9D

Неправильный тег пула

Тип пула

Адрес вызова

Текущий поток попытался выделить пул с тегом, который не содержит букв или цифр.

0x41286

Зарезервированный параметр

Зарезервированный параметр

Начало смещения пула подкачиваемой памяти, в страницах

Текущий поток попытался освободить адрес пула подкачиваемой памяти в середине выделения.

ПРИЧИНА

     Текущим потоком выполнен недопустимый запрос пула.

РЕШЕНИЕ

     Необходимо выявить драйвер, который вызывает синий экран 0x000000C2  BAD_POOL_CALLER. Если драйвер не указывается в ошибке BSoD, то его необходимо определить, используя дамп памяти. Если с этим возникнут трудности, советую почитать статью "Анализ дампа памяти". После определения сбойного драйвера его необходимо удалить, переустановить или же откатить на более раннюю версию.

     Также выполните все рекомендации, написанные в материале "11 рекомендаций по устранению BSoD".

Ошибка 0x000000BF: MUTEX_ALREADY_OWNED

Синий экран смерти 0x000000BF указывает, на попытку потока получить мьютекс, которым он уже владеет.

ПАРАМЕТРЫ MUTEX_ALREADY_OWNED:

Адрес мьютекса;
Поток, который вызвал ошибку;
0;
Зарезервированный параметр.

РЕШЕНИЕ

Для устранения ошибки воспользуйтесь статьей "11 рекомендаций по устранению BSoD".

Поиск по сайту

Дополнительно