Ошибка 0x000000C2 в Windows
Цифровое название ошибки | 0x000000C2 |
Название BSoD | BAD_POOL_CALLER |
Причина появления | Текущим потоком выполнен недопустимый запрос пула. |
Операционные системы | Windows 2000, XP, 7 |
Синий экран смерти BAD_POOL_CALLER 0x000000C2 указывает на то, что текущий поток выполнил запрос плохого пула.
Параметры BSoD BAD_POOL_CALLER на Windows следующие:
1 параметр указывает тип нарушения.
Текущий поток запрашивает выделение нулевого байта пула.
Указатель заголовка пула
Первая часть содержания заголовка пула
Повреждение заголовка пула.
Указатель заголовка пула
Текущий поток принял попытку освободить уже свободный пул.
Адрес блока освобождаемого пула
Текущий поток принял попытку освободить уже свободный пул.
Размер выделения, в байтах
Текущий поток попытался выделить пул с недопустимым значением IRQL.
Текущий поток попытался освободить пул с недопустимым IRQL.
Тег, используемый в свободном выделении
Текущий поток попытался освободить память пула при помощи неправильного тега. (Память могла принадлежать другому компоненту)
Тег выделения пула
Неверный указатель квоты процесса
Текущий поток попытался освободить квоту на поврежденном пуле.
Начальный адрес системного адресного пространство
Текущий поток попытался освободить пул ядра в адресе пользовательского режима.
Физический фрейм страницы
Самый старший физический фрейм страницы
Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.
Текущий поток попытался освободить виртуальный адрес, который никогда не был ни в одном пуле.
Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.
Текущий поток попытался освободить недопустимый адрес пула.
Физический фрейм страницы
Самый старший физический фрейм страницы
Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.
Текущий поток попытался освободить не выделенный адрес пула подкачиваемой памяти
Начало смещения, на страницах пула подкачиваемой памяти
Размер пула подкачиваемой памяти, в байтах
Текущий поток попытался освободить невыделенный адрес пула подкачиваемой памяти.
Текущий поток попытался освободить недопустимый непрерывный адрес памяти. (Вызов MmFreeContiguousMemory передает плохой указатель)
Адрес, который освобождается
Текущий поток попытался освободить пул с недопустимым адресом. (Этот код может указать на повреждение в заголовке пула)
Запрашиваемое количество байтов
Текущий поток отметил запрос выделения MUST_SUCCEED. (Этот тип пула больше не поддерживается)
Запрашиваемое количество байтов
Текущий поток попытался выделить пул с тегом 0.
Запрашиваемое количество байтов
Текущий поток попытался выделить пул с тегом «BIG».
Неправильный тег пула
Текущий поток попытался выделить пул с тегом, который не содержит букв или цифр.
Начало смещения пула подкачиваемой памяти, в страницах
Текущий поток попытался освободить адрес пула подкачиваемой памяти в середине выделения.
Способы решения ошибки 0x000000C2
BSOD или синий экран смерти BAD POOL CALLER с цифровым стоп-кодом 0x000000C2 появляется на Windows и не только по той причине.
Синий экран смерти 0x000000C2
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, то его необходимо определить, используя дамп памяти. Если с этим возникнут трудности, советую почитать статью “Анализ дампа памяти”. После определения сбойного драйвера его необходимо удалить, переустановить или же откатить на более раннюю версию.
Также выполните все рекомендации, написанные в материале “Общие рекомендации по устранению BSoD”.
Буду признателен, если воспользуетесь кнопочками: