¿Qué significa el código BSOD 0x18 (REFERENCE_BY_POINTER)?

 
También puede significar:
ConstanteTipoSO
ERROR_BAD_LENGTHError de WindowsWindows
KERN_MEMORY_DATA_MOVEDRetorno del kernel de macOSmacOS
ippStsNoOperationInDllEstado de Intel IPPCualquiera
EMFILEerrnoCualquiera
Anterior Siguiente
CID_HANDLE_DELETION BAD_POOL_HEADER

REFERENCE_BY_POINTER

Qué significa REFERENCE_BY_POINTER

REFERENCE_BY_POINTER (0x18) indica que el reference count de un objeto kernel ya no es válido para el estado del objeto. Microsoft señala como caso típico que un driver hace más operaciones de dereference que referencias, de modo que el contador llega a cero mientras aún existen handles o incluso cae por debajo de cero.

Parameter 1 identifica el tipo de objeto y Parameter 2 el objeto cuyo contador se estaba reduciendo. Esto permite investigar el lifetime concreto, en lugar de tratar el stop como una corrupción de memoria genérica.

Qué comprobar

  • Use !object sobre el objeto de Parameter 2 y revise pointer/handle counts.
  • Audite cada camino que adquiere una referencia y asegure que existe exactamente el dereference correspondiente.
  • Busque cleanup/error paths que puedan liberar dos veces la misma referencia o liberar antes de cerrar handles.
  • Si los contadores/headers ya están dañados, investigue corrupción previa además del código de referencia.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.