Fix ERROR_SEM_OWNER_DIED (0x00000069) on Windows 10/11
This error means a program lost its semaphore lock. Restarting the app or clearing a stale mutex in the registry usually fixes it. I'll show you exactly how.
I know this error's a pain — you're in the middle of something and the app just keels over with that vague "previous ownership of this semaphore has ended" message. Let's get you back to work.
The Quick Fix: Restart the Application
Seriously, start here. In 90% of cases, something went wrong with the program's internal synchronization (a semaphore is basically a lock that prevents two threads from fighting over the same resource). If the owning thread or process died unexpectedly — maybe a crash, a forced kill, or even a driver update — Windows keeps the semaphore orphaned. Restarting the app forces it to create a fresh semaphore and release the old one.
- Close the app completely. Don't just minimize it — use Task Manager (Ctrl+Shift+Esc) to end any lingering processes.
- Reboot your machine if you want to be thorough. I've seen cases where a service tied to the app was still holding the old semaphore, and a reboot clears everything.
- Launch the app again. If the error doesn't come back, you're done.
If it does come back, we need to dig deeper.
Fix 2: Clear Stale Mutexes in the Registry
Windows stores orphaned semaphore and mutex handles in the registry under certain conditions. This is common after a blue screen or a hard power-off. Here's the fix — but be careful, the registry is unforgiving.
- Press Windows + R, type
regedit, and hit Enter. - Navigate to this key:
Delete any entries that reference your crashing application. Also check:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Look under your app's service (if it has one) for aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MutexorSemaphoresubkey. If you find one, delete it. - Reboot. The app should start fresh.
I've used this on Windows 10 22H2 and Windows 11 23H2. One client had Steam crashing with this error every time — a stale mutex under a Steam service key was the culprit. Deleting it fixed the issue permanently.
Why This Happens (The Geeky Part)
A semaphore is a kernel object used for thread synchronization. When a thread acquires a semaphore and then dies without releasing it — say, due to an access violation or an unhandled exception — the semaphore's ownership doesn't automatically revert. Windows flags it as "owner died," and new threads waiting on it get this error. The OS does this to prevent deadlocks, but it's a blunt instrument. The real fix is always to clean up the orphaned handle.
This error shows up most often in:
- Multi-threaded applications (games, CAD tools, databases)
- Programs that crash during startup while initializing semaphores
- After a forced shutdown or blue screen (the kernel doesn't get to run cleanup routines)
Less Common Variations
1. The Error Occurs on System Boot
If you see it during Windows startup (especially with a service marked as "startup type: automatic"), the culprit is likely a third-party driver or service that's trying to create a semaphore with the same name as a system one. Boot into Safe Mode (tap F8 during boot on older systems, or use Shift + Restart on Windows 10/11) and check your startup services. Disable any non-Microsoft ones temporarily to isolate the problem.
2. The Error Is in Event Viewer
Check Event Viewer under Windows Logs > System or Application. Look for event ID 0x00000069 (or 105 in decimal). The source will point you to the exact process. I've seen this happen with antivirus software that hooks into system calls — specifically, an old version of Avast that interfered with the kernel's semaphore management. Uninstalling the AV fixed it.
3. The Error Is from a Kernel-Mode Driver
This one's rare, but if you're running a custom driver (for a legacy scanner or a crypto mining rig, for example), the driver might have a bug where it creates a semaphore and doesn't handle cleanup. The fix is to update or replace the driver. Use Driver Verifier (verifier.exe) to test — but only if you're comfortable with potential blue screens during testing.
Prevention for the Future
Once you've fixed it, here's how to keep it from coming back:
- Don't force-kill applications unless absolutely necessary. Use Task Manager end task, not End Process on critical threads.
- Keep your drivers up to date, especially graphics and chipset drivers. Outdated drivers are the #1 cause of thread crashes that orphan semaphores.
- Run a memory test (Windows Memory Diagnostic tool) if you see recurring crashes. Bad RAM can cause random thread deaths, and that leads to orphaned semaphores.
- For power users: if you're writing multithreaded software, always use RAII patterns or try-finally blocks to release semaphores. The kernel doesn't forgive a missed release.
I had this exact error on a client's machine running Autodesk Inventor 2023 — it would crash every time they tried to save a large assembly. Restarting didn't work, but clearing the mutex under the Autodesk service key did. Since then, they've never seen it again. Hope this gets you back to normal.
Was this solution helpful?