wslg: WSLg Crashes Randomly due to multi-thread race condition to access RDP id_manager
Environment
Windows build number: Microsoft Windows NT 10.0.22000.0
Your Distribution version: 20.04
Your WSLg version: 1.0.26
Steps to reproduce
- Run a ressource heavy GUI application (such as running an Ubuntu VM in
virt-manager
) - Try to use the GUI application and wait for it to crash
WSL logs:
- Attach WSLg logs from
/mnt/wslg
You can access the wslg logs using explorer at: \\wsl$\<Distro-Name>\mnt\wslg
(e.g.: \\wsl$\Ubuntu-20.04\mnt\wslg
)
Expected behavior
The GUI should at most lag.
Actual behavior
All GUI applications immediately close.
Following lines are written to the stderr.log
when this happens:
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error: Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported maximum keycode 569, clipping.
> X11 cannot support keycodes above 255.
> Internal error: Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported maximum keycode 569, clipping.
> X11 cannot support keycodes above 255.
> Internal error: Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
[11:01:14:170] [340:340] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 11: Resource temporarily unavailable
[11:01:14:170] [340:340] [ERROR][com.freerdp.core] - transport_read_layer:freerdp_set_last_error_ex ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
[11:01:14:171] [340:340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[11:01:14:171] [340:340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[11:01:14:174] [340:340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[11:01:14:174] [340:340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[11:01:14:229] [340:340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[11:01:14:229] [340:340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
(EE) failed to read Wayland events: Broken pipe
<4>WSLGd: /usr/bin/weston terminated with signal 11.
<4>WSLGd: /mnt/c/Windows/System32/mstsc.exe exited with status 0.
About this issue
- Original URL
- State: open
- Created 2 years ago
- Reactions: 1
- Comments: 19 (6 by maintainers)
@hideyukn88 By the way, is there a quick workaround to restart the graphics subsystem without restarting the whole WSL?
@hideyukn88 thank you for the prompt response! Will wait for the fix.
@speller, thank you very much for sharing the dump, For reference, below is the callstack for the crash and I will work on the fix, thanks again for reporting the issue!