0x000000EF CRITICAL_PROCESS_DIED
Windows marks a small number of processes as critical. If one of them exits for any reason, the operating system has no way to continue and stops immediately. What makes this code different from most is where it leaves you: frequently in a reboot loop that never reaches the desktop, which means the repair work happens from the recovery environment rather than from Windows.
What you are looking at
Your PC ran into a problem and needs to restart.
Stop code: CRITICAL_PROCESS_DIED
In Event Viewer the matching entries look like this:
Log Name: System
Source: BugCheck
Event ID: 1001
Level: Error
The computer has rebooted from a bugcheck. The bugcheck was: 0x000000ef (0xffffa50c1d2e4080, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000).
What the error actually means
A handful of user-mode processes are load-bearing for the whole system. csrss.exe handles console and window management on behalf of the kernel. wininit.exe and winlogon.exe run session startup and logon. services.exe manages every Windows service. lsass.exe holds the security subsystem. smss.exe is the session manager.
These are flagged as critical processes. If one terminates - cleanly or otherwise - Windows cannot fall back to a degraded mode, because there is no meaningful system left without them. It bugchecks instead.
So the stop code tells you the outcome, not the reason. The useful question is always which process died and why it was allowed to, and the answers span corrupt system files, failing storage, a bad update and malware.
Reading the parameters
Two of the four carry information. The process name itself comes from the dump rather than the parameter list.
| Parameter | What it holds |
|---|---|
| 1 | The process object. Not human-readable on its own, but a debugger turns it into a name - and that name is the whole diagnosis. |
| 2 | If 0, a process terminated. If 1, a thread terminated. This decides which debugger command to use next: !process for a process, !thread for a thread. A dying thread inside an otherwise healthy critical process is a meaningfully different situation from the whole process exiting. |
| 3 | Reserved. |
| 4 | Reserved. |
What actually triggers it
Which cause is likely depends heavily on which process died, so treat this list as a starting distribution rather than a ranking that applies to your case.
| Cause | How often | Detail |
|---|---|---|
| Corrupt system files | Common | The most frequent cause by some margin, and unlike most stop codes that is genuinely true here rather than a reflex answer. A damaged system binary or a broken component store leaves a critical process unable to start or unable to continue. |
| Failing storage | Common | If the drive cannot reliably return the files these processes need, they die. A drive developing bad sectors in the wrong place produces this repeatedly and gets worse quickly. |
| A bad or interrupted Windows update | Occasional | An update that fails partway leaves mismatched system components. Crashes that begin immediately after an update, particularly after a power loss during one, point straight here. |
| Third-party drivers and security software | Occasional | Anti-virus products interact directly with lsass.exe and services.exe. A version mismatch after an update can terminate them. |
| A third-party service set to restart the computer on failure | Occasional | Under-known and worth checking. Microsoft notes that a developer can create a service and set its recovery option to Restart the Computer. A service configured that way which keeps failing will keep taking the machine down, and it will look like a Windows fault rather than a badly configured application. Check the Recovery tab in the properties of any recently installed service. |
| Malware | Occasional | More relevant here than on most stop codes, since some malware attacks or injects into exactly these processes - and some poorly written malware simply crashes them. |
| Failing RAM | Rare | Possible, but if memory were the problem you would normally see other stop codes alongside this one. |
Narrowing it down
The first question is whether you can reach the desktop at all, because that determines which tools you have.
Establish whether you can boot
If Windows starts normally and crashes occasionally, you have full access and can work from there. If it loops, interrupt the boot three times with the power button to trigger the recovery environment, then choose Troubleshoot, Advanced options.
From there, Startup Settings gives you Safe Mode, and Command Prompt gives you offline repair tools.
Booting into Safe Mode successfully but not normally implicates a driver or a startup service rather than core system corruption - the critical processes clearly can run.
Find out which process died
If you can reach Windows, open the newest minidump in WinDbg and run !analyze -v. Look for PROCESS_NAME, then check parameter 2 - 0 for a process, 1 for a thread - and follow with !process or !thread accordingly.
Microsoft notes that in many cases a user-mode dump is written before the system bugchecks, and that when one exists it should be examined first - debugging user-mode code from a kernel dump is limited by paged-out data. Look in C:\Windows\LiveKernelReports and in the per-user crash dump location under %LOCALAPPDATA%\CrashDumps before settling for the kernel dump.
Microsoft's documented list of built-in critical services is csrss.exe, wininit.exe, logonui.exe, smss.exe, services.exe, conhost.exe and winlogon.exe. csrss.exe is the broadest and least specific. services.exe suggests a service or its driver. Knowing the name narrows a wide field considerably.
Check the drive before anything else
Given how often storage is behind this, check it early. From a working Windows, read SMART data with CrystalDiskInfo. From recovery, run chkdsk C: /f - noting that the drive letter in recovery is often not C, so use diskpart and list volume to confirm first.
Reallocated or pending sectors, or an SSD reporting degraded health, moves storage to the front of the queue and makes the software repairs below temporary at best.
Fixes, cheapest first
If you are in a boot loop, everything here runs from the recovery environment. Reach it by interrupting boot three times.
Repair system files
From a working Windows, run these in an administrator terminal in order:
sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth sfc /scannowFrom the recovery environment, the offline form is different and the drive letters usually are not what you expect. Confirm them with
diskpartandlist volumefirst, then:sfc /scannow /offbootdir=C:\ /offwindir=C:\WindowsWatch outIn recovery, the Windows installation is often on D: while the recovery image is on X:. Running these against the wrong drive does nothing useful and wastes a lot of time - check first.
Check and repair the disk
Run
chkdsk C: /f /ragainst the Windows volume. The/roption locates bad sectors and takes considerably longer, but on a drive suspected of failing it is the point of the exercise.Watch outIf the drive is genuinely failing, chkdsk can accelerate the failure while it works. Image the drive first if the data matters and you have not backed it up.
Uninstall the most recent update
If the crashes started after an update, remove it. From recovery: Troubleshoot, Advanced options, Uninstall Updates - which offers the latest quality update and the latest feature update separately.
From a working Windows, use Settings, Windows Update, Update history, Uninstall updates.
Boot into Safe Mode and strip back software
If Safe Mode works, use it to remove third-party anti-virus, VPN clients and anything else that installs kernel drivers or hooks into the security subsystem. Then reboot normally.
This is the fastest route when
lsass.exeorservices.exeis the process that died.Scan for malware offline
Because this stop code involves processes malware specifically targets, an offline scan is worth more here than on most codes. Microsoft Defender Offline runs before Windows loads, so it can see things a normal scan cannot.
From Windows Security, choose Virus and threat protection, Scan options, Microsoft Defender Offline scan.
Repair install without losing files
An in-place upgrade replaces every system file while keeping your applications, settings and data. It is the strongest software repair available short of a clean install, and it resolves corruption that
sfcandDISMcannot.- Download the Media Creation Tool and build installation media, or mount the ISO from a working Windows.
- Run
setup.exefrom within Windows - not from a boot to the media. - Choose to keep personal files and apps when prompted.
- Let it complete without interruption.
Watch outThis needs a bootable Windows to start from. If you are stuck in a loop, Safe Mode may be enough - but if nothing boots at all, the disk repair steps have to come first. Back up before starting.
When it is the hardware, not Windows
Signals that the storage device is the underlying problem and software repair will not hold:
- SMART reports reallocated sectors, pending sectors, or an SSD past its rated endurance.
- The same corruption returns within days of a successful repair.
chkdskfinds and fixes errors repeatedly on successive runs.- Boot times have been getting longer, or the machine occasionally fails to find the boot device at all.
- File operations hang or the system freezes intermittently outside of crashes.
- A clean Windows install onto the same drive develops the same problem.
That last one is decisive. Repairing files on a failing drive is writing to a surface that cannot reliably hold them - the repair appears to work and then decays. If a fresh install reproduces the problem on the same disk, replace the disk rather than the operating system, and copy your data off while it still reads.
Frequently asked
I am stuck in a reboot loop and cannot get to Windows at all. Where do I start?
Force the recovery environment: power the machine on and hold the power button to kill it as soon as you see the Windows logo. Do that three times in a row and the fourth boot goes into recovery automatically. From there, Startup Repair is the low-effort first attempt, and Command Prompt gives you chkdsk and the offline sfc above. If recovery itself will not load, boot from Windows installation media instead and choose Repair your computer.
The dump says csrss.exe. What does that actually tell me?
Less than you would hope. csrss.exe is involved in a great deal of normal activity, so it is the process most likely to be caught up in a problem originating elsewhere. Treat it as confirming the category rather than identifying the cause, and lean on the drive check and system file repair. A more specific name like lsass.exe narrows things far more usefully.
Will a clean install fix this?
It fixes the software cases - corrupt files, a broken update, malware - which is a large share of them. It does nothing if the drive is failing, and that is common enough with this particular stop code that checking SMART data first is worth the ten minutes. Reinstalling onto a dying disk buys you days.
Can I disable the critical process check so it stops crashing?
No, and it would not help if you could. The bugcheck is not the problem - it is Windows noticing that something it depends on absolutely has gone. A system without csrss.exe or services.exe cannot function in any useful way, so there is nothing to continue to.
Related errors
- 0x00000154UNEXPECTED_STORE_EXCEPTIONMemory compression hit an error it couldn't handle. Check the drive before the RAM.
- 0x0000001AMEMORY_MANAGEMENTWindows' memory bookkeeping is corrupt. The first parameter tells you which kind, and that changes everything.
- 0x00000139KERNEL_SECURITY_CHECK_FAILUREA kernel integrity check caught corruption and halted deliberately. Parameter 1 says which kind.