The adage that “nothing is perfect” certainly applies to software development, where bugs can and do derail the user experience. Unfortunately, if your PC crashes with a Blue Screen of Death (BSOD) error, you’re experiencing a serious PC error, and it’s usually (though not always) caused by bugs in some code.
One of the most uncommon BSOD errors to appear is the “reference by pointer” BSOD (reference_by_pointer). Trying to diagnose the cause of this BSOD is tricky, but usually points to problems that you can easily fix. So if you are trying to fix a reference_by_pointer BSOD error, this guide should help you.
What Causes a Reference By Pointer BSOD Error in Windows 10?
A reference by pointer BSOD error (also known as a reference_by_pointer or 0x00000018 error) usually indicates a problem with your system files or device drivers†
To prioritize system resources, Windows internally refers to active elements (such as an open window) as “objects” with numbers that indicate how often the elements are referenced (or used) elsewhere.
This value decreases until the object is deleted, freeing up your system memory for other running services.
When a reference_by_pointer message appears, Windows sees an incorrect number of references for an active object. Because this could be a serious security issue, Windows will stop and display a BSOD, forcing your system to reboot and clearing all active memory.
However, in almost all cases, this is usually caused by a buggy piece of software. Hardware drivers are the most common cause, with graphics cards and other components such as network devices often causing the notification. However, it can also be caused by other issues such as corrupted system files or even failing hardware.
Before you try anything else, check your BSOD memory dump files for more information. You’ll find essential clues behind the cause of a pointer BSOD reference, such as a driver file (with a .sys file extension) or a system process (such as ntosknrl.exe).
Once you’ve identified a possible cause (such as a faulty driver), you can follow the troubleshooting steps below.
Switch to safe mode for troubleshooting
After a BSOD, your PC will be forced to reboot. If you’re stuck in a reference_by_pointer BSOD loop (where each reboot causes a different BSOD message), you should boot in safe mode to start the troubleshooting process.
Safe Mode runs Windows with the most basic set of drivers and system processes necessary to function properly, allowing you to troubleshoot driver issues without risking another BSOD.
You can also use Safe Mode to analyze your BSOD dump files before starting other troubleshooting efforts.
- To boot into safe mode, you need to interrupt the Windows boot sequence at least three times. To do this, turn on your PC and wait for the Windows logo to appear. Press your PC’s reset button (or press and hold your PC’s power button) to force restart, then repeat at least two more times.
- Windows will boot into automatic repair mode to attempt to resolve a boot loop after three failed boot attempts. Once you have the Automatic recovery menu, select Advanced Options > Troubleshooting > Advanced Options > Startup Settings > Restart to access your boot options.
- After a few moments (and a quick reboot), select the desired boot option in safe mode using your number keys on the keyboard. For example, select 4 for default safe mode5 for Safe Mode with Networking Enabled, or 6 for safe mode with only one command prompt terminal visible.
Windows will proceed to boot with your chosen Safe Mode option, where you can then continue with the troubleshooting steps below.
Updating system files and device drivers
A bug in Windows or a device driver can cause a reference_by_pointer BSOD. To resolve this issue, make sure that your system files and drivers are up to date using the Windows Update system.
- To get started, right click on the Start menu and select Settings to open Windows Settings.
- From the Settings menu, select Update & Security † Windows Update† Windows should automatically check for updates, but if not, select Check for updates† Select Install updates if there are updates available that you can install manually.
- Give Windows time to download and install the new updates for your system. Once this is complete, restart your PC to load the new updates and drivers and complete the process. You can do this quickly by right-clicking the Start menu and Exit or Sign Out † Restarting†
Roll back a recently installed driver or system update
Although system updates go through a rigorous testing process, bugs and issues can still occur.
If you only see a reference_by_pointer BSOD error after recently updating your system files or device drivers, you may have introduced a set of bugs. Fortunately, with Windows you can roll back a driver on Windows and remove all recent Windows updates that cause problems.
Rolling back a device driver
- To roll back a recently installed device driver, right click on the Start menu and select Device Manager†
- In the Device Manager window, locate the device with the recently updated drivers. Right click on the device and select Properties†
- In the Driver tab of the Properties window, select the Roll back driver choice. This will remove the recently installed driver and restore the previously used version. After selecting Roll back driverfollow any additional on-screen instructions to complete the process.
- After rolling back your driver, restart your PC to complete the process by right clicking on the Start menu and selecting Exit or Sign Out † Restarting†
Uninstall a system update
- To uninstall a recent system update, right-click on the Start menu and select Settings†
- In the Settings menu, select Update & Security † View update history † Uninstall updates†
- An old-fashioned Control Panel menu appears. To sort updates by date, select the Installed on category title to sort them. Find the update you want to remove, then select remove to remove it. As the remove option is not available, the system update is considered essential and cannot be uninstalled.
- Follow any additional on-screen instructions to uninstall the update. Once it has been removed, restart your PC by right-clicking on the Start menu and selecting: Exit or Sign Out † Restarting†
Check your system files for errors
Windows files are constantly changing, with settings and files updated regularly. Unfortunately, from time to time, your Windows installation will experience more catastrophic changes, from malware infections to hard drive sector failures.
If you think that your Windows installation is somehow failing and causing this BSOD error, you can check it for errors using the SFC and DISM tools.
- To run these tools, you need to open a new Windows PowerShell window. Right click on the Start menu and select Windows PowerShell (administrator) to do this.
- In the PowerShell window, type dism.exe /online /cleanup-image /restorehealth and select Enter on your keyboard. This will check your Windows system image (used to reset your installation files) for integrity issues. If there are missing or damaged files, DISM will replace them.
- Once the DISM tool is finished, type sfc /scannow to use the System File Checker tool to scan your Windows installation for errors. If it detects them, it will attempt to replace them using the new DISM generated system image files to ensure your installation works properly.
Restart your PC once the SFC tool has completed a scan of your Windows installation files. If it can’t update or repair your files, you may need to look at more drastic options, such as: Reset Windows 10 with a fresh installation.
Test your hardware (and replace if necessary)
Corrupted or buggy files don’t just cause system instability. For example, if your hardware overheats, overworks, or just plain fails, system errors such as a pointer reference by BSOD are the next step before a full-blown PC failure occurs.
If heat is an issue, you should clean up your PC and consider upgrading your cooling to fix the problem. Your next step is to thoroughly test your hardware, using CPU stress tests and memory test toolslike check your hard drive for errors†
If your hardware is the problem, your only answer is to replace it. You can replace individual components (such as your motherboard or CPU), but if the PC is too old to repair, you may need to consider a full upgrade, completely replacing your PC with a new pre-built PC, or your new PC instead to build .
Fixing BSOD Errors on Windows
A pointer-by-pointer BSOD error is usually nothing to worry about, but without regular system maintenance, it could indicate a serious problem with your PC. Make sure to back up your important files somewhere else so you don’t lose your files when your PC crashes have system restore enabled†
If you can’t resolve the issue using the steps above, you may need to consider more drastic options. If your hardware is faulty, you should consider upgrading or completely replacing your PC. Otherwise, it may be time to wipe and reset Windows to restore stability, although you should: recover your files from a backup afterwards.