Comprobación de errores 0x19: BAD_POOL_HEADER
La comprobación de errores BAD_POOL_HEADER tiene un valor de 0x00000019. Esto indica que un encabezado de grupo está dañado.
Importante
Este artículo va dirigido a 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_HEADER
El parámetro 1 indica el tipo de infracción. El significado de los demás parámetros depende del valor del Parámetro 1.
Parámetro 1 | Parámetro 2 | Parámetro 3 | Parámetro 4 | Causa del error |
---|---|---|---|---|
0x2 |
Entrada del grupo que se está comprobando |
Tamaño del bloque del grupo |
0 |
Error en la comprobación del patrón de grupo especial. (Es probable que el propietario haya dañado el bloque de grupo). |
0x3 |
Entrada del grupo que se está comprobando |
Valor freelist de flink de relectura |
Valor freelist de blink de relectura |
El valor freelist del grupo está dañado. (En una lista correcta, los valores de los parámetros 2, 3 y 4 deben ser idénticos). |
0x5 |
Una de las entradas del grupo |
Reserved |
La otra entrada del grupo |
Un par de entradas de grupo adyacentes tienen encabezados que se contradecían entre sí. Al menos uno de ellos está dañado. |
0x6 |
Una entrada calculada incorrectamente |
Reserved |
La entrada incorrecta que provocó el cálculo incorrecto |
El tamaño anterior del encabezado del bloque de grupo es demasiado grande. |
0x7 |
0 |
Reserved |
Entrada de grupo incorrecta |
El tamaño del encabezado del bloque de grupo está dañado. |
0x8 |
0 |
Reserved |
Entrada de grupo incorrecta |
El tamaño del encabezado del bloque de grupo es cero. |
0x9 |
Una entrada calculada incorrectamente |
Reserved |
La entrada incorrecta que provocó el cálculo incorrecto |
El tamaño del encabezado del bloque de grupo está dañado (es demasiado grande). |
0xA |
Entrada del grupo que se debería haber encontrado |
Reserved |
Dirección virtual de la página que debe contener la entrada del grupo |
El tamaño del encabezado del bloque de grupo está dañado. |
0xD, 0xE, 0xF, 0x23, 0x24, 0x25 |
Reservado |
Reservado |
Reserved |
El encabezado de grupo de un bloque liberado se ha modificado después de liberarlo. Esto no suele ser culpa del propietario anterior del bloque liberado, sino que suele deberse (aunque no siempre) a que el bloque que precede al bloque liberado está saturado. |
0x20 |
Entrada del grupo que se debería haber encontrado |
La siguiente entrada del grupo |
Reserved |
El tamaño del encabezado del bloque de grupo está dañado. |
0X21 |
Puntero del grupo que se libera |
Número de bytes asignados para el bloque de grupo |
Valor dañado encontrado después del bloque de grupo |
Los datos que siguen al bloque de grupo que se liberan están dañados. Normalmente esto significa que el consumidor (pila de llamadas) ha saturado el bloque. |
0X22 |
Dirección que se libera |
Reservado |
Reserved |
Una dirección que se libera no tiene una entrada de seguimiento. Esto suele deberse a que la pila de llamadas está intentando liberar un puntero que, o bien ya se ha liberado, o bien nunca se asignó. |
Causa
El grupo ya está dañado en el momento de la solicitud actual.
Esto puede deberse o no al llamador.
Solución
Los vínculos internos del grupo se deben recorrer mediante el depurador de kernel para averiguar una posible causa del problema.
A continuación, puede usar un grupo especial para las etiquetas de grupo sospechosas o usar la opción "Grupo especial" del comprobador de controladores en el controlador sospechoso. La extensión !analyze puede ser de ayuda para identificar al controlador sospechoso, pero esto no suele ser el caso de los elementos que dañan del grupo.
Siga los pasos descritos en Análisis de los datos de la comprobación de errores de la pantalla azul para recopilar los parámetros de código de detención. Use los parámetros de código de detención para determinar el tipo específico de comportamiento de código que está trabajando para realizar un seguimiento.
Comprobador de controladores
El Comprobador de controladores 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 proactivamente 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 Verifier en un símbolo del sistema. Puede configurar qué controladores desea comprobar. El código que comprueba los controladores añade sobrecarga a medida que se ejecuta, así que intente comprobar el menor número de controladores posible. Para obtener más información, consulte Comprobador de controladores.
Diagnóstico de memoria de Windows
Si esta comprobación de errores aparece de forma incoherente, podría estar relacionada con la memoria física defectuosa.
Ejecute la herramienta de diagnóstico de memoria de Windows para probar la memoria. En el cuadro de búsqueda del panel de control, escriba Memoria y, a continuación, seleccione Diagnosticar los problemas de memoria del equipo. Una vez ejecutada la prueba, use el Visor de eventos para ver los resultados en el registro del sistema. Busque la entrada Resultados de MemoryDiagnostics para ver los resultados.