Comprobación de errores 0xC2: BAD_POOL_CALLER
La comprobación de errores BAD_POOL_CALLER tiene un valor de 0x000000C2. Esto indica que el subproceso actual está realizando una solicitud de grupo incorrecta.
Importante
Este artículo es para programadores. Si es un cliente que ha recibido un código de error de pantalla azul mientras usa el equipo, consulte Solución de errores de pantalla azul.
parámetros de BAD_POOL_CALLER
El parámetro 1 indica el tipo de infracción.
Parámetro 1 | Parámetro 2 | Parámetro 3 | Parámetro 4 | Causa del error |
---|---|---|---|---|
0x00 |
0 |
Tipo de grupo |
Etiqueta de grupo |
El subproceso actual solicitó una asignación de grupo de bytes cero. |
0x01, 0x02, 0x04 |
Puntero al encabezado del grupo |
Primera parte del contenido del encabezado del grupo |
0 |
El encabezado del grupo está dañado. |
0x06 |
Reservado |
Puntero al encabezado del grupo |
Contenido del encabezado del grupo |
El subproceso actual intentó liberar el grupo, que ya estaba liberado. |
0x07 |
Reservado |
Contenido del encabezado del grupo |
Dirección del bloque del grupo que se libera |
El subproceso actual intentó liberar el grupo, que ya estaba liberado. |
0x08 |
IRQL actual |
Tipo de grupo |
Tamaño de la asignación, en bytes |
El subproceso actual intentó asignar el grupo en un IRQL no válido. |
0x09 |
IRQL actual |
Tipo de grupo |
Dirección del grupo |
El subproceso actual intentó liberar el grupo en un IRQL no válido. |
0x0A |
Dirección del grupo |
Etiqueta del asignador |
Etiqueta que se usa en el intento de liberar |
El subproceso actual intentó liberar memoria del grupo mediante la etiqueta incorrecta. (La memoria podría pertenecer a otro componente). |
0x0B, 0x0C, o 0x0D |
Dirección del grupo |
Etiqueta de asignación de grupo |
Puntero de proceso de cuota incorrecta |
El subproceso actual intentó liberar una cuota en una asignación de grupo dañada. |
0x40 |
Dirección inicial |
Inicio del espacio de direcciones del sistema |
0 |
El subproceso actual intentó liberar el grupo de kernels en una dirección en modo de usuario. |
0x41 |
Dirección inicial |
Marco de página físico |
Marco de página físico más alto |
El subproceso actual intentó liberar una dirección de grupo no paginada no asignada. |
0x42 o 0x43 |
Dirección que se libera |
0 |
0 |
El subproceso actual intentó liberar una dirección virtual que nunca estaba en ningún grupo. |
0x44 |
Dirección inicial |
Reservado |
0 |
El subproceso actual intentó liberar una dirección de grupo no paginada no asignada. |
0x46 |
Dirección inicial |
0 |
0 |
El subproceso actual intentó liberar una dirección de grupo no válida. |
0x47 |
Dirección inicial |
Marco de página físico |
Marco de página físico más alto |
El subproceso actual intentó liberar una dirección de grupo no paginada no asignada. |
0x48 |
Dirección inicial |
Reservado |
Reservado |
El subproceso actual intentó liberar una dirección de grupo paginada no asignada. |
0x50 |
Dirección inicial |
Desplazamiento inicial, en páginas, desde el principio del grupo paginado |
Tamaño del grupo paginado, en bytes |
El subproceso actual intentó liberar una dirección de grupo paginada no asignada. |
0x60 |
Dirección inicial |
0 |
0 |
El subproceso actual intentó liberar una dirección de memoria contigua no válida. (El autor de la llamada de MmFreeContiguousMemory pasa un puntero incorrecto). |
0x99 |
Dirección que se libera |
0 |
0 |
El subproceso actual intentó liberar el grupo con una dirección no válida. (Este código también puede indicar daños en el encabezado del grupo). |
0x9A |
Tipo de grupo |
Número de bytes solicitados |
Etiqueta de grupo |
El subproceso actual marcó un MUST_SUCCEED de solicitud de asignación. (Este tipo de grupo ya no se admite). |
0x9B |
Tipo de grupo |
Número de bytes solicitados |
Dirección del autor de la llamada |
El subproceso actual intentó asignar un grupo con una etiqueta de 0 (Esto sería intrackable y posiblemente dañaría las tablas de etiquetas existentes). |
0x9C |
Tipo de grupo |
Número de bytes solicitados |
Dirección del autor de la llamada |
El subproceso actual intentó asignar un grupo con una etiqueta "BIG". (Esto sería intrackable y posiblemente dañaría las tablas de etiquetas existentes). |
0x9D |
Etiqueta de grupo incorrecta usada |
Tipo de grupo |
Dirección del autor de la llamada |
El subproceso actual intentó asignar un grupo con una etiqueta que no contiene letras ni dígitos. El uso de estas etiquetas dificulta los problemas del grupo de seguimiento. |
0x41286 |
Reservado |
Reservado |
Desplazamiento inicial desde el principio del grupo paginado, en páginas |
El subproceso actual intentó liberar una dirección de grupo paginada en medio de una asignación. |
Los códigos de _POOL_TYPE se enumeran en Ntddk.h. En concreto, 0 indica que el grupo no paginado y 1 indica el grupo paginado.
Causa
El subproceso actual ha realizado una solicitud de grupo no válida. Normalmente, esto está en un nivel IRQL incorrecto o libera doblemente la misma asignación de memoria, etc.
Resolución
Active el comprobador de controladores con las opciones del grupo de memoria habilitadas para obtener más información sobre estos errores y para localizar el controlador con errores.
Comprobador de controladores
Driver Verifier es una herramienta que se ejecuta en tiempo real para examinar el comportamiento de los controladores. Si ve errores en la ejecución del código de controlador, crea de forma proactiva una excepción para permitir que esa parte del código del controlador se examine aún más. El administrador del comprobador de controladores está integrado en Windows y está disponible en todos los equipos Windows. Para iniciar el administrador del comprobador de controladores, escriba Comprobador en un símbolo del sistema. Puede configurar qué controladores desea comprobar. El código que comprueba que los controladores agregan sobrecarga a medida que se ejecuta, por lo que pruebe y compruebe el menor número de controladores posible. Para obtener más información, consulte Comprobador de controladores.
Herramienta de diagnóstico de memoria de Windows
En concreto, en situaciones con daños en el grupo de memoria, ejecute la herramienta Diagnóstico de memoria de Windows para intentar aislar la memoria física como causa. En el cuadro de búsqueda del panel de control, escriba Memoria y, a continuación, seleccione Diagnosticar problemas de memoria del equipo. Una vez ejecutada la prueba, use visor de eventos para ver los resultados en el registro del sistema. Busque la entrada MemoryDiagnostics-Results para ver los resultados.