Fix 0X00000067: Semaphore Cannot Be Set Again
This error means a program tried to use more semaphores than Windows allows. Usually a driver or app locks up. We'll walk you through quick fixes first.
What Causes Error 0X00000067?
This error pops up when a program asks Windows for a semaphore (a kind of traffic cop for shared resources) and Windows says "no more." The system has a limit on how many semaphores a process can hold. You'll see it in Event Viewer or as a crash dialog when a database server like SQL Server, a printer driver, or a custom app goes haywire. Common triggers: a leak in a driver that forgets to release semaphores, or a misconfigured app that spawns too many threads.
Quick Fix (30 seconds) — Restart the Troublemaker
Don't waste time. First, figure out what's failing. Look at the error window's title bar. It usually names the program. Close it. Then restart that program.
- Press Ctrl+Shift+Esc to open Task Manager.
- Find the app named in the error (e.g., "sqlservr.exe" or "printspooler.exe").
- Right-click it and select End task.
- Wait 2 seconds, then relaunch the app normally.
If the error doesn't come back right away, you fixed it. If it returns within a minute, move to the next step.
Moderate Fix (5 minutes) — Increase the Semaphore Limit in Registry
For server apps or custom software, you might need to raise the per-process semaphore limit. The default is 256—sometimes not enough. Here's how:
- Press Win+R, type
regedit, and hit Enter. Accept the UAC prompt. - Navigate to this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ - Find the key for the failing app's service. For example, SQL Server uses
MSSQLSERVER. - Right-click that key, choose New > DWORD (32-bit) Value.
- Name it
SemaphoreLimitand set its value to512(decimal). - Click OK.
- Restart the service or the whole machine.
After rebooting, check if the error is gone. If not, undo this change (delete the DWORD) and try the advanced fix.
Advanced Fix (15+ minutes) — Driver and System Cleanup
If you're still here, something's leaking semaphores. The real culprit is almost always a bad driver or a corrupted system file. Let's knock them out one by one.
Step 1: Update or Roll Back Drivers
Focus on network, printer, and storage drivers. Those are the worst offenders.
- Press Win+X and select Device Manager.
- Look for devices with a yellow exclamation mark. Right-click any and choose Update driver > Search automatically for drivers.
- If that doesn't help, go to the manufacturer's site (like Intel, NVIDIA, Realtek) and download the latest driver manually.
- If the error started after a recent driver update, roll it back: in Device Manager, double-click the device, go to the Driver tab, and click Roll Back Driver.
Step 2: Check for Corrupt System Files
Windows can damage its own semaphore handling code. Run these commands as Administrator:
- Open Command Prompt as admin: press Win, type
cmd, right-click Command Prompt, and choose Run as administrator. - Run
sfc /scannowand let it finish. This checks system files. Expect it to take 10 minutes. - After that, run
DISM /Online /Cleanup-Image /RestoreHealth. This fixes the component store. It can take 20 minutes. - Reboot.
Step 3: Isolate the Leaking Process with Resource Monitor
If the error still appears, we need to find the exact process. Resource Monitor shows semaphore counts.
- Press Ctrl+Shift+Esc, go to the Performance tab, click Open Resource Monitor at the bottom.
- Click the CPU tab, then expand the Handles section.
- Type
semaphorein the search box. You'll see all processes holding semaphores. Sort by count. - If one process has hundreds more than others, that's your problem. Note its name.
- Search online for that process plus "semaphore leak" for specific fixes. If it's a non-critical app, uninstall it.
Step 4: Last Resort — Reset Windows
Only do this if nothing else worked and the error is constant. It nukes drivers and keeps your files (if you choose that option).
- Go to Settings > Update & Security > Recovery.
- Under Reset this PC, click Get started.
- Choose Keep my files and then Cloud download or Local reinstall (cloud is safer).
- Follow the prompts. It takes about an hour.
After the reset, install drivers one at a time, testing between each, to find the bad one.
When to Call for Help
If you're in a corporate environment and the error appears on a server running SQL Server or Exchange, don't mess with the registry yourself. Call your IT team. They'll have specific patches or configuration changes. For a home PC, these steps will get you sorted 9 times out of 10.
Was this solution helpful?