0x00000c2 bad pool caller windows 7

0x000000C2: BAD_POOL_CALLER

STOP 0x000000C5 DRIVER_CORRUPTED_EXPOOL
Процесс ядра или драйвер попытались неверно произвести операцию с памятью. Обычно причиной являются неисправные драйвера или софт.

Windows 2000 XP
Применяется к следующим системам:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Professional
Microsoft Windows XP 64-Bit Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional
Решение:
Windows 2000 содержит много различных встроенных фич, которые усиливают процесс распределение басеина памяти (pool allocation process). Эти фичи могут помочь вам установить корневую причину ошибки простым дебагом (debugging).
Следуйте следующим шагам:

STOP 0x000000C5 DRIVER_CORRUPTED_EXPOOL
Процесс ядра или драйвер попытались неверно произвести операцию с памятью. Обычно причиной являются неисправные драйвера или софт.

Windows 2000 XP
Применяется к следующим системам:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Professional
Microsoft Windows XP 64-Bit Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional
Решение:
Windows 2000 содержит много различных встроенных фич, которые усиливают процесс распределение басеина памяти (pool allocation process). Эти фичи могут помочь вам установить корневую причину ошибки простым дебагом (debugging).
Следуйте следующим шагам:
BAD_POOL_CALLER (0xC2)
Текущая нить неправильно обращается к памяти. Обычно, это из-за неверного уровня IRQL или двойного освобождения одного и того же места памяти, и т.д.

Parameter 1 = 0x1, 0x2, or 0x4 : заголовок басейна повреждён
Parameter 2 = указатель на заголовок
Parameter 3 = первая чать содержания заголовка
Parameter 4 = 0

Parameter 1 = 0x6 : попытка освободить пямять, которая уже свободна
Parameter 2 = резерв (__LINE__)
Parameter 3 = указатель на заголовок
Parameter 4 = содержание заголовока

Parameter 1 = 0x7 : попытка освободить пямять, которая уже свободна
Parameter 2 = резерв (__LINE__)
Parameter 3 = указатель на заголовок
Parameter 4 = 0

Parameter 1 = 0x8 : попытка освободить пямять используя неверный IRQL
Parameter 2 = текущий IRQL
Parameter 3 = тип басейна памяти
Parameter 4 = его размер

Parameter 1 = 0x9 : попытка освободить пямять используя неверный IRQL
Parameter 2 = текущий IRQL
Parameter 3 = тип басейна памяти
Parameter 4 = его адрес

Parameter 1 = 0x40 : попытка освободить пользовательский адрес для ядра
Parameter 2 = адрес начала
Parameter 3 = начало системного места
Parameter 4 = 0

Parameter 1 = 0x41 : попытка освободить неиспользуемый адрес
Parameter 2 = адрес начала
Parameter 3 = рамка физической страницы
Parameter 4 = наибольшая рамка

Parameter 1 = 0x50 : попытка освободить неиспользуемый адрес
Parameter 2 = адрес начала
Parameter 3 = Start offset in pages from beginning of paged pool
Parameter 4 = размер в байтах

ChildEBP RetAddr Args to Child
bdce0348 be11dc84 e1fff000 a08d0008 000007f8 banshee!vH3ImageTransferMm32
bdce037c be116f18 be85fd78 00000001 bdce03dc banshee!vMmXferNative
bdce03ac be113eec e1fff000 e25e2a38 bdce03dc banshee!vPutBits
bdce03e8 a008e47f e1ff86f8 e25e2a38 e1fef908 banshee!DrvCopyBits
bdce0430 a008e899 be113d40 bdce04d8 e1ff86f8 win32k!OffCopyBits
bdce04e4 a008e4d1 e1ff86f8 e25e2a38 00000000 win32k!SpBitBlt
Документация ошибки указывает, что память была освобождена. Это явно из линии:
Parameter 1 = 0x7: Attempt to free pool which was already freed.
Так же видно, что видео карта в процессе записи, поэтому мы должны продолжать работу над ошибкой. Во-первых, мы должны выявить, если этот компьютер мультипроцессорный:
0: kd>

Читайте также:  Nmap для windows как пользоваться

Base Code Size Data Size Driver Name Creation Time
80400000 139f40 (1255 kb) 4f3c0 (316 kb) ntoskrnl.exe Tue Dec 07 14:05:26 1999
80062000 ffe0 ( 63 kb) 3d60 ( 15 kb) hal.dll Tue Nov 02 20:14:22 1999
ed410000 1760 ( 5 kb) 1000 ( 4 kb) BOOTVID.dll Wed Nov 03 20:24:33 1999
ed49c000 1b00 ( 6 kb) 680 ( 1 kb) gameenum.sys Sat Sep 25 14:35:57 1999
ed080000 a000 ( 40 kb) 20c0 ( 8 kb) VIDEOPRT.SYS Sat Nov 06 16:55:20 1999
bfdcf000 1d480 ( 117 kb) 7520 ( 29 kb) mga64m.sys Mon Nov 29 20:47:46 1999
bfdbc000 11600 ( 69 kb) 1600 ( 5 kb) el90xnd5.sys Fri Oct 29 17:54:34 1999
ed090000 3a60 ( 14 kb) 5980 ( 22 kb) banshee.sys Fri Oct 29 19:00:56 1999
ed5df000 2e0 ( 0 kb) 4a0 ( 1 kb) audstub.sys Sat Sep 25 14:35:33 1999
ed370000 33e0 ( 12 kb) a40 ( 2 kb) raspti.sys Fri Oct 08 16:45:10 1999
ed0c0000 c5e0 ( 49 kb) 20e0 ( 8 kb) parallel.sys Fri Oct 22 18:00:54 1999
ed5e0000 580 ( 1 kb) 540 ( 1 kb) swenum.sys Sat Sep 25 14:36:31 1999
be552000 72a60 ( 458 kb) 13c40 ( 79 kb) mga64d.dll Tue Nov 30 04:33:19 1999
be113000 36f00 ( 219 kb) 7a20 ( 30 kb) banshee.dll Tue Nov 30 04:31:18 1999
be031000 FFFF ( FF kb) FFFF ( F kb) BADDRIVER.sys Mon Feb 30 23:22:43 2000

TOTAL: 7f8dc0 (8163 kb) 172140 (1480 kb) ( 0 kb 0 kb)
Предыдущий текст показывает, что драйвер используется ПО третьей стороны. Этот драйвер, скорей всего, и есть главная причина ошибки.

Источник

Синий экран смерти 0x000000C2

0x000000C2: BAD_POOL_CALLER

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

Параметры BAD_POOL_CALLER:

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

1 параметр 2 параметр 3 параметр 4 параметр Причина ошибки
0x00 Тип пула Тег пула Текущий поток запрашивает выделение нулевого байта пула.
0x01,0x02,0x04 Указатель заголовка пула Первая часть содержания заголовка пула Повреждение заголовка пула.
0x06 Зарезервированный параметр Указатель заголовка пула Заголовок пула Текущий поток принял попытку освободить уже свободный пул.
0x07 Зарезервированный параметр Заголовок пула Адрес блока освобождаемого пула Текущий поток принял попытку освободить уже свободный пул.
0x08 Текущий IRQL Тип пула Размер выделения, в байтах Текущий поток попытался выделить пул с недопустимым значением IRQL.
0x09 Текущий IRQL Тип пула Адрес пула Текущий поток попытался освободить пул с недопустимым IRQL.
0x0A Адрес пула Тег выделения Тег, используемый в свободном выделении Текущий поток попытался освободить память пула при помощи неправильного тега. (Память могла принадлежать другому компоненту)
0x0B,0x0C,0x0D Адрес пула Тег выделения пула Неверный указатель квоты процесса Текущий поток попытался освободить квоту на поврежденном пуле.
0x40 Начальный адрес Начальный адрес системного адресного пространство Текущий поток попытался освободить пул ядра в адресе пользовательского режима.
0x41 Начальный адрес Физический фрейм страницы Самый старший физический фрейм страницы Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.
0x42,0x43 Освобождаемый адрес Текущий поток попытался освободить виртуальный адрес, который никогда не был ни в одном пуле.
0x44 Начальный адрес Зарезервированный параметр Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.
0x46 Начальный адрес Текущий поток попытался освободить недопустимый адрес пула.
0x47 Начальный адрес Физический фрейм страницы Самый старший физический фрейм страницы Текущий поток попытался освободить не выделенный адрес пула не подкачиваемой памяти.
0x48 Начальный адрес Зарезервированный параметр Зарезервированный параметр Текущий поток попытался освободить не выделенный адрес пула подкачиваемой памяти
0x50 Начальный адрес Начало смещения, на страницах пула подкачиваемой памяти Размер пула подкачиваемой памяти, в байтах Текущий поток попытался освободить невыделенный адрес пула подкачиваемой памяти.
0x60 Начальный адрес Текущий поток попытался освободить недопустимый непрерывный адрес памяти. (Вызов MmFreeContiguousMemory передает плохой указатель)
0x99 Адрес, который освобождается Текущий поток попытался освободить пул с недопустимым адресом. (Этот код может указать на повреждение в заголовке пула)
0x9A Тип пула Запрашиваемое количество байтов Тег пула Текущий поток отметил запрос выделения MUST_SUCCEED. (Этот тип пула больше не поддерживается)
0x9B Тип пула Запрашиваемое количество байтов Адрес вызова Текущий поток попытался выделить пул с тегом 0.
0x9C Тип пула Запрашиваемое количество байтов Адрес вызова Текущий поток попытался выделить пул с тегом «BIG».
0x9D Неправильный тег пула Тип пула Адрес вызова Текущий поток попытался выделить пул с тегом, который не содержит букв или цифр.
0x41286 Зарезервированный параметр Зарезервированный параметр Начало смещения пула подкачиваемой памяти, в страницах Текущий поток попытался освободить адрес пула подкачиваемой памяти в середине выделения.
Читайте также:  Ibis paint x для windows

Причина

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

Решение

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

Также выполните все рекомендации, написанные в материале “Общие рекомендации по устранению BSoD”.

Буду признателен, если воспользуетесь кнопочками:

Источник

0x00000c2 bad pool caller windows 7

Вопрос

В последнее время зачислил появляться BSOD: BAD_POOL_CALLER 0x00000c2

ОС: Windows 7 Максимальная x86

Синий экран появляется исключительно при любой запущенной игре (Diablo 3, World of Tanks, The War Z), через разные промежутки времени, при работе с самой ОС ошибка не появляется. Пробовал обновить драйверы всех устройств, но это не помогло решить проблему.

Пробовал найти проблему при помощи dbg_x86_6.11.1.404, но утилита ничего не нашла.

К сообщению прикладываю файл дампа: ссылка

Помогите пожалуйста найти причину проблемы.

Ответы

Методом исключения нашел причину проблемы, bsod появляется в играх, которые проявляют сетевую активность, проверил на игре не требующей сетевой составляющей и все замечательно работает, без каких либо ошибок.

В итоге виновником появления bsod’а является программа написанная русскими разработчиками ViPNet со своим «фаерволом».

Всем спасибо за помощь!

Все ответы

Причина проблемы: PROCESS_NAME: Diablo III.exe

Причина проблемы: PROCESS_NAME: Diablo III.exe

Причина проблемы: PROCESS_NAME: Diablo III.exe

думаю если бы я в момент краша системы играл в любую другую игру, то следуя вашей логике причиной был бы, их исполняемый файл, будь то worldoftanks.exe или thewarz.exe

насчет вирусов я уверен на 95% что их в системе нет, а что касается дампа ядра, скажи как и где его вытащить

Капитан-очевидность приходил примерно 8 с половиной часов назад и говорил.

Синий экран появляется исключительно при любой запущенной игре (Diablo 3, World of Tanks, The War Z)

проблема с компьютером на работе

как и обещал, понедельник и вот файл MEMORY.DMP

Читайте также:  Heic в jpg конвертер для windows

Заранее, спасибо за помощь!

как и обещал, понедельник и вот файл MEMORY.DMP

спасибо, буду ждать, но нагибать систему не желательно, установлено рабочее ПО которое довольно сложное в настройке

спасибо! но все равно мне как-то страшно =) нет ли случаем более безопасного для системы способа выявления ошибки? Потому как работоспособность системы должна сохранятся.

но все равно мне как-то страшно =) нет ли случаем более безопасного для системы способа выявления ошибки? Потому как работоспособность системы должна сохранятся.

понял Вас, спасибо за помощь!

Сделаю бэкап и попробую провернуть то, что Вы выше расписали.

Анализ дампа (не зря же выкладывали), подробно описывать не буду, только основное:

была вызвана функция следующим образом ExpReleasePoolQuota(85cfb858)

Это блок пула неподкачиваемой памяти размером 0x28 если в десятичной то 40 байтов, принадлежащий процессу, находящемуся по адресу 86301930

Первые 8 байтов это заголовок пула

А вот что произошло:

Функция в начале выполняет несколько проверок, в том числе убеждается что по адресу где лежит адрес процесса в блоке пула действительно находится процесс

Потому что первый байт этого типа объектов (процессов) равен 3

Правильный адрес 8630 9 930 (как в примере выше)

Интересно то, что отличаются эти адреса 1 битом.

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

Источник

Поделиться с друзьями
Советы экспертов и специалистов