Skip to content
WindowsBeginner

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...

BI
Bison Technical Team Enterprise IT specialists
Updated 27 Sep 2026 5 min read 0 total views
Structured technical guidanceSafety notes included where requiredSources listed below

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

Advertisement

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

  1. 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.
  2. 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.
  3. Inspect Device Manager. Right-click Start > Device Manager. Check for devices marked with an exclamation point and identify drivers updated shortly before the crashes.
  4. 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.
  5. 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.
  6. 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

 
 

YOUR FEEDBACK

Was this guide useful?

Your answer helps us keep BISONKB accurate and practical.

THE BISON BRIEF

Practical IT knowledge, once a week.

New troubleshooting guides, scripts and infrastructure notes. No noise.

By subscribing, you agree to our privacy policy. Unsubscribe at any time.