Fix Windows Stop Code 0x00000036: DEVICE_REFERENCE_COUNT_NOT_ZERO
Quick Answer DEVICE_REFERENCE_COUNT_NOT_ZERO (0x00000036) is a Windows stop code indicating that a driver tried to delete a device object while references to...
Quick Answer
DEVICE_REFERENCE_COUNT_NOT_ZERO (0x00000036) is a Windows stop code indicating that a driver tried to delete a device object while references to it still existed. Microsoft identifies this as a bug in the driver making that call. If the crash repeats, investigate recent driver, device, or related software changes. Roll back or update a suspected driver and examine a crash dump if the cause remains unclear. The stop code by itself does not name the faulty driver. Microsoft Learn
What the Error Means
A device object is a structure a driver uses to represent a device or an I/O target. Its reference count tracks outstanding reasons the object must remain available. Stop code 0x36 occurs when a driver attempts to delete its device object before those references have been released. Microsoft Learn
For technicians reading a crash dump, the first bug-check parameter is the address of the device object. Parameters two through four are reserved. A reference count in this error is an object-lifetime measure; it is not a count of attached devices or available RAM. Microsoft Learn
Before You Begin
- Save your work and back up important files before changing drivers or recovery settings.
- Record when the crash occurs and what changed beforehand, such as a driver update, newly connected hardware, or device-related software.
- Use an administrator account for driver rollback.
- If Windows cannot start normally, use Safe Mode to investigate. On a managed PC, coordinate driver or security software changes with your IT administrator. Microsoft Support
Recommended Troubleshooting
- Check whether the error repeats. Record the stop code and restart. A single crash with no recurrence may not provide enough evidence to identify a driver.
- Disconnect recently added hardware. Shut down first, disconnect the new device, and restart. If the crashes stop, check its compatibility and driver before using it again.
- Inspect Device Manager. Right-click Start > Device Manager. Check for devices marked with an exclamation point and identify drivers updated shortly before the crashes.
- Roll back a suspected recent driver update. Right-click the device and choose Properties > Driver > Roll Back Driver. Follow the prompts and restart if asked. If the button is unavailable, a previous driver may not be available to restore.
- Update the suspected driver if rollback is unavailable or ineffective. Check Windows Update or obtain the correct driver for your Windows version from the device manufacturer’s official website.
- Install available Windows updates and test again. Make one targeted change at a time so you can tell whether it helped. Microsoft Support
If a driver change creates a new problem, reinstall the appropriate manufacturer driver or roll it back where possible. If the crashes began recently and targeted steps do not help, consider a Windows restore point from before the problem began. Microsoft Support
If Windows Will Not Start Normally
Use the Windows Recovery Environment and select Troubleshoot > Advanced options > Startup Settings > Restart, then start Safe Mode. From there, investigate or reverse a recent driver change. Microsoft Support
Advanced Troubleshooting: Analyze the Crash Dump
If 0x36 recurs, preserve the newest crash dump. Depending on the configured dump type, small dumps are stored in %SystemRoot%\Minidump; kernel and several other dump types are stored as %SystemRoot%\MEMORY.DMP. A dump is created only when Windows is configured and able to write it. Microsoft Learn
An IT professional can open the dump in WinDbg and run:
!analyze -v
Check the bug-check parameters, call stack, and driver involved in the attempted deletion. Parameter one supplies the device-object address. Compare the findings with recent changes rather than treating every module shown in the stack as the cause. Driver developers investigating a reproducible reference leak can use Microsoft’s guidance on debugging a failed driver unload. Microsoft Learn
Do not use Driver Verifier as a routine first step on a production PC. Microsoft warns that it can cause crashes and recommends using it on computers intended for testing and debugging. Microsoft Learn
How to Verify the Fix
Restart after the change and repeat the activity that previously preceded the crash, such as connecting or removing the affected device. Confirm that the device works and that stop code 0x36 does not return. If it does return, record the time, retain the newest dump, and investigate the next supported driver lead.
Frequently Asked Questions
Does this error mean the physical device is faulty?
Not necessarily. Microsoft describes 0x36 as a driver attempting to delete a device object with outstanding references. Test a recently added device as part of isolation, but do not conclude that the hardware is defective from the code alone. Microsoft Learn
Does “reference count” mean Windows has run out of memory?
No. In this context, it counts outstanding references to a device object. Microsoft Learn
Will reinstalling Windows fix stop code 0x36?
It is not a reliable first remedy. Begin by identifying the driver involved and checking for a compatible update or rollback. Reinstallation can leave the same problematic driver or device in use.
What if Roll Back Driver is unavailable?
Use Windows Update or the device manufacturer’s official site to obtain an appropriate driver. If the cause remains uncertain, analyze the dump before changing additional drivers. Microsoft Support
Should I share a crash dump publicly?
Review your organization’s support and privacy rules first. Memory dumps can contain system information and data held in memory; send them only through a trusted support channel.
Conclusion
Stop code 0x00000036 points to a driver error involving a device object with outstanding references. For repeated crashes, investigate recent changes, make a targeted driver correction, and use the crash dump to narrow down the responsible component.
Sources
- Microsoft Learn, Bug Check 0x36: DEVICE_REFERENCE_COUNT_NOT_ZERO. Microsoft Learn
- Microsoft Support, Troubleshooting Windows unexpected restarts and stop code errors. Microsoft Support
- Microsoft Support, Update drivers through Device Manager in Windows. Microsoft Support
- Microsoft Learn, Stop code error or bug check troubleshooting. Microsoft Learn
- Microsoft Learn, Life Cycle of an Object and Debugging a Failed Driver Unload. Microsoft Learn
- Microsoft Learn, How to Use Driver Verifier for Driver Testing. Microsoft Learn
Was this guide useful?
Your answer helps us keep BISONKB accurate and practical.