What does BSOD 24 (REFERENCE_BY_POINTER) mean?

 
Could be also:
ConstantTypeOS
ERROR_BAD_LENGTHWin32 errorWindows
KERN_MEMORY_DATA_MOVEDKern returnMac
ippStsNoOperationInDllIntel Ipp StatusAny
EMFILEerrnoAny
Previous Next
CID_HANDLE_DELETION BAD_POOL_HEADER

REFERENCE_BY_POINTER

The REFERENCE_BY_POINTER bug check has a value of 0x00000018. This indicates that the reference count of an object is illegal for the current state of the object.

Important

REFERENCE_BY_POINTER Parameters

Parameter Description

1

Object type of the object whose reference count is being lowered.

2

Object whose reference count is being lowered.

3

Reserved

4

Reserved

Cause for REFERENCE_BY_POINTER

The reference count of an object is illegal for the current state of the object. Each time a driver uses a pointer to an object, the driver calls a kernel routine to increase the reference count of the object by one. When the driver is done with the pointer, the driver calls another kernel routine to decrease the reference count by one.

Drivers must match calls to the routines that increase (reference) and decrease (dereference) the reference count. This bug check is caused by an inconsistency in the object's reference count. Typically, the inconsistency is caused by a driver that decreases the reference count of an object too many times, making extra calls that dereference the object. This bug check can occur because an object's reference count goes to zero while there are still open handles to the object. It might also occur when the object's reference count drops below zero, whether or not there are open handles to the object.

Resolution for REFERENCE_BY_POINTER

Make sure that the driver matches calls to the routines that increase and decrease the reference count of the object. Make sure that your driver does not make extra calls to routines that dereference the object (see Parameter 2).

For REFERENCE_BY_POINTER, You can use a debugger to help analyze this problem. For more information, see Crash dump analysis using the Windows debuggers (WinDbg) . For REFERENCE_BY_POINTER, the !analyze debug extension displays information about the bug check and can be helpful in determining the root cause.

To find the handle and pointer count on the object, use the !object debugger command.

kd> !object address

Where address is the address of the object given in Parameter 2.

For REFERENCE_BY_POINTER, you can also set a breakpoint in the code leading up to this stop code and attempt to single step forward into the faulting code.

For REFERENCE_BY_POINTER, if you are not equipped to use the Windows debugger to work on this problem, you can use some basic troubleshooting techniques.

  • For REFERENCE_BY_POINTER, check the System Log in Event Viewer for additional error messages that might help identify the device or driver that is causing this bug check.

  • For REFERENCE_BY_POINTER, if a driver is identified in the bug check message, disable the driver or check with the manufacturer for driver updates.

  • For REFERENCE_BY_POINTER, confirm that any new hardware that is installed is compatible with the installed version of Windows. For example, you can get information about hardware required for a system affected by REFERENCE_BY_POINTER at Windows 10 Specifications.

  • For additional general troubleshooting information relevant to REFERENCE_BY_POINTER, see Blue Screen Data.


Looking for a different code? Search another status or error code.