microsoft / microsoft/WSL

WSL2 enters unrecoverable zombie state after sleep/wake - vsock communication failure

Open
#14,005 10 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

emailed-logs
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.