WSL2 enters unrecoverable zombie state after sleep/wake - vsock communication failure
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 33.7k
- Forks
- 1.8k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 116
Description
## Windows Version
```
Microsoft Windows [Version 10.0.26100.2605]
```
## WSL Version
```
WSL-Version: 2.3.26.0
Kernelversion: 5.15.167.4-1
WSLg-Version: 1.0.65
MSRDC-Version: 1.2.5620
Direct3D-Version: 1.611.1-81528511
DXCore-Version: 10.0.26100.1-240331-1435.ge-release
Windows-Version: 10.0.26100.2605
```
## Kernel Version
5.15.167.4-1
## Distro Version
Ubuntu 24.04
## WSL 1 or WSL 2?
- [x] WSL 2
## Repro Steps
1. Start WSL2 normally (working state, shell sessions open)
2. Put Windows into standby/sleep overnight
3. Resume Windows from standby
4. Existing WSL2 shell sessions still work (inside the VM)
5. Attempt to open new WSL session via `wsl` command → hangs indefinitely
6. `Get-Service LxssManager` shows "Running"
7. `Start-Service LxssManager` fails with `Wsl/Service/E_UNEXPECTED`
## Expected Behavior
WSL2 should recover gracefully after Windows resumes from sleep/standby, or at minimum provide a way to restart the services without requiring a full system reboot.
## Actual Behavior
After sleep/wake, WSL2 enters a "zombie running" state:
- All services (LxssManager, vmcompute, vmms) appear "Running" in `Get-Service`
- But vsock communication between Windows and the WSL2 VM is broken
- The VM itself is still running (existing shell sessions inside WSL work!)
- New connections from Windows side fail with Error 110 (ETIMEDOUT)
**Event Log evidence:**
- NDIS virtual network adapter fails to restore after standby
- Hyper-V vmms logs show no errors (services think they're healthy)
**Recovery attempts that fail:**
- `Restart-Service LxssManager` → hangs
- `Stop-Service vmcompute -Force` → causes system instability (details sent to secure@microsoft.com)
**Only working recovery:** Full system reboot via `Restart-Computer`
## Detailed Analysis
I have documented the complete incident with Event Log analysis, diagnostic steps, and system configuration in this gist:
**https://gist.github.com/dodjango/545a8322b43697fb81f214fad245a263**
## Related Issues
- #8696 - WSL2 not working after sleep (248+ upvotes, same root cause)
- #8459 - Issues when stopping vmcompute (closed)
- #8205 - WSL2 hangs after sleep
- #10750 - Sleep/wake networking issues
## Other Software
- GPU: NVIDIA with WSLg enabled
- Hyper-V features enabled
- Docker Desktop installed (not running during incident)
## Request
1. Could the WSL team investigate why vsock communication breaks during sleep/wake while the VM stays alive?
2. Is there a safe way to restart WSL services without a full reboot when this state occurs?
Note: Additional diagnostic data (minidump) has been submitted separately to secure@microsoft.com per contribution guidelines.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the listed sleep/wake reproduction steps, the `wsl` command, and the `Get-Service` results; review the Event Log evidence and related issues #8696, #8459, #8205, and #10750. Done would require identifying the vsock or service-recovery failure and establishing either graceful resume recovery or a safe restart path without a full reboot.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- networking, operating-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100