0X00000873

Fix 0X00000873: Print Queue NERR_QinvalidState Error

0X00000873 means the print spooler is stuck mid-job and rejecting every new command. Restarting the Print Spooler service fixes it in about 30 seconds for most people.

You hit print. Nothing comes out. You open the queue and Windows throws 0X00000873 at you, sometimes with the longer text NERR_QinvalidState. What's actually happening here is the Print Spooler service is holding a job in a state it can't transition out of. It knows a job exists, it thinks it's printing, and it refuses to accept any new operation until that state resolves. The queue is wedged. Every document you send just piles up behind the stuck one.

This shows up most often with HP and Brother network printers on Windows 10 22H2 and Windows 11 23H2, usually right after a driver update or when the printer loses power mid-job. A print job that never got a completion signal leaves the spooler in a half-open transaction. USB printers can trigger it too if you yank the cable while a job is spooling.

Work through these in order. Stop as soon as printing works.

The 30-second fix: restart the Print Spooler

Nine times out of ten this clears it. The spooler can't self-recover from a stuck state — restarting it wipes the in-memory queue and forces a clean re-read from disk.

  1. Press Win + R, type services.msc, hit Enter.
  2. Find Print Spooler in the list.
  3. Right-click it, choose Restart. If Restart is greyed out, click Stop, wait five seconds, then Start.

The reason step 3 works is that the service is holding a lock on the queue. Stopping it releases the lock; starting it re-initializes the spooler from scratch with an empty job table. If a job was genuinely half-finished on the printer side, the printer will usually spit it out or discard it on the next poll.

If that fixed it, don't do anything else. If it comes back within an hour, or the restart button is greyed out, keep going.

The 5-minute fix: clear the spool folder by hand

Sometimes a corrupt spool file (a .SPL or .SHD file) survives the service restart. The spooler restarts, reads the file, and immediately wedges again. You'll know this is your situation if the error comes back the moment you try to print.

  1. Stop the Print Spooler service the same way as above.
  2. Open File Explorer and paste this into the address bar: C:\Windows\System32\spool\PRINTERS
  3. Delete everything in that folder. If Windows refuses, you didn't actually stop the service — go back and verify it's stopped in services.msc.
  4. Start the Print Spooler again.

Deleting the contents is safe. Windows rebuilds the folder when the spooler starts. Those files are just the currently-pending jobs, and they're about to be re-sent anyway.

A quick command-line version if you'd rather not click through:

net stop spooler
del /Q /F %systemroot%\System32\spool\PRINTERS\*
net start spooler

Run that in an elevated Command Prompt. The /Q /F flags suppress prompts and force deletion of read-only files. If you get an access denied on a file, the spooler process is still holding it and the stop didn't take.

The 15-minute fix: driver and registry repair

If 0X00000873 keeps returning after every restart, the problem isn't the queue anymore. It's either a bad driver or a spooler dependency that's misconfigured. This section is the one most guides skip, and it's where persistent cases actually get solved.

Check the spooler's dependencies

In services.msc, right-click Print Spooler and open Properties. Go to the Dependencies tab. You'll typically see Remote Procedure Call (RPC) listed. On domain machines, you might also see HTTP or RPC Endpoint Mapper. If any of those services aren't running, the spooler can start but won't accept jobs cleanly, which produces exactly this error.

Start any missing dependency, then restart the spooler.

Wipe the printer and reinstall the driver

Corrupt driver stores are common after a Windows cumulative update. You don't need to nuke every driver on the system — just the one for the problem printer.

  1. Open Settings > Bluetooth & devices > Printers & scanners.
  2. Select the printer, click Remove.
  3. Open Print Management (printmanagement.msc). Under All Drivers, find the matching driver, right-click, Remove driver package. Tick the box to delete the driver files.
  4. Download the driver fresh from the manufacturer. Don't let Windows Update pick it — the inbox driver for HP and Brother is what caused this loop for a lot of people I've helped.
  5. Install, re-add the printer, print a test page.

Last resort: the registry key

If you're still stuck, there's a spooler registry value that occasionally gets set to block job submission on managed machines. Look here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers

Each subkey under Providers should have a Name string value. If one is missing or blank, the spooler can't route the job, and the queue ends up in an invalid state. Compare against a working machine of the same Windows build. Don't guess at values here — copy them from a known-good system.

Back up the key before you touch it. Right-click the Providers folder, Export, save the .reg file somewhere you'll find it. A ten-second export saves you an hour of regret.

What to check if it keeps coming back

If 0X00000873 returns weekly, look at the environment rather than the machine. Three things cause repeat offenders:

  • Network printer going to sleep. Cheap switches drop the TCP session when the printer powers down, and the spooler sees a job in flight to a dead socket. Set the printer to never sleep, or enable SNMP on the port.
  • Print server with a full disk. If you're spooling to a shared queue on a server, that server's spool drive being under 500MB free will wedge queues. Check it.
  • Group Policy pushing a stale driver. On domain machines, gpresult /h will show you if a print driver preference is reapplying an old version. That's your culprit if you've reinstalled and it keeps reverting.

One more thing worth knowing: the error code 0X00000873 is essentially NERR_QinvalidState — a NetBIOS-era code that survived into modern Windows because the print subsystem still uses the same queue state machine under the hood. It's not a bug in Windows. It's Windows telling you, accurately, that it can't do what you asked because the queue is in a state it doesn't know how to exit. Clearing that state is the whole fix. Everything else is about stopping it from getting stuck again.

Related Errors in Hardware – Printers
Duplex Unit Calibration Failure Printer Duplex Unit Calibration Failure – Real Fixes Printer Scan to Email Not Sending – Fixes That Work 0X000005B8 Fix 0X000005B8 Symlink Error in Printers & Apps 0XC00000C7 STATUS_NO_SPOOL_SPACE (0XC00000C7) Printer Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.