microsoft / wslg

Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios
MIT License
9.9k stars 296 forks source link

Xserver unresponsive after external monitor disconnect until hibernate/resume cycle with wsl 2.1.1 #1201

Open g2flyer opened 4 months ago

g2flyer commented 4 months ago

Windows build number:

10.0.22631.0

Your Distribution version:

23.10

Your WSL versions:

WSL version: 2.1.1.0 Kernel version: 5.15.146.1-2 WSLg version: 1.0.60 MSRDC version: 1.2.5105 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22631.3155

Steps to reproduce:

it's not deterministically reproducible afaict but since upgrading from 2.1.0 to 2.1.1, often when i disconnect my laptop from two external monitors, one of them a 4k one, my windows of xapps disappear (nothing unusual about, that has happened before) but afterwards no window reacts to x-commands (e.g., via xdotool or alike) and no new xapp can be started (e.g., an xterm just hangs in shell but doesn't show up). Once i hibernate and resume, the existing windows do react again but the hanging xterm still hangs (but can be killed and a new xterm succeeds)

WSL logs:

pulseaudio.log stderr.log weston.log

WSL dumps:

Note this core is from two days ago, so not directly triggered by the last observation of the hang. But just in case .... core.weston.gz

Expected behavior:

Ideally, windows should all still be visible after a disconnect or at least should react to x-commands.

Actual behavior:

See above in steps to reproduce: X is unresponsive until a hibernate/resume cycle ..

g2flyer commented 4 months ago

A few additional observations: