-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5 second delay when opening Xt dialogs #307
Comments
I confirm this bug also in other X11 applications on WSLG. The delay to pop-up dialog windows can be even longer than 5 seconds. |
@badjames, thanks for reporting the issue, I confirmed this does repro with the latest WSLg. Using nedit, it doesn't occur to every dialog, like CTRL+O and ALT+I come up immediately, but it does have delay like CTRL+S, SHIFT+CTRL+F and SHIFT+CTRL+R, @dpeterc, thanks for info, would you please share what-else X11 applications do you observe this issue? thanks! |
I'm not sure what the difference between the nedit file "open" and "save" actions are that cause the delay in one but not the other. I did run nedit under xtruss and it appears the hang is at the point that the WM_SIZE_HINTS property is set:
In the code, it is the XtManageChild call at line 786 that hangs: https://sourceforge.net/p/nedit/git/ci/master/tree/util/misc.c#l786 If you want a simple application that reproduces the issue, try this: https://github.com/badjames/wslg/blob/main/hello_dialog.c It is a simple program that attempts to display a dialog using XmCreateInformationDialog. It hangs on XtManageChild as well, and xtruss shows it hanging at the point of the ChangeProperty X11 call. Hope this helps! |
The other X11 applications where I observe this issue are |
Fixed in WSLg 1.0.40 |
Environment
Steps to reproduce
sudo apt install nedit
This should imediately display a file save dialog, but there is a 5 second delay before it appears. This does not occur on Ubuntu 20.04 running Wayland in a standard VM or bare metal. The Xt call that is blocking is "XtManageChild":
#0 0x00007ffff7527ac7 in __GI___poll (fds=0x7fffffff7b40, nfds=1, timeout=4289)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff78bce7a in _XtWaitForSomething () from /lib/x86_64-linux-gnu/libXt.so.6
#2 0x00007ffff78ca8a8 in ?? () from /lib/x86_64-linux-gnu/libXt.so.6
#3 0x00007ffff7c6c5ad in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#4 0x00007ffff78b4d56 in _XtMakeGeometryRequest () from /lib/x86_64-linux-gnu/libXt.so.6
#5 0x00007ffff78b4f80 in XtMakeGeometryRequest () from /lib/x86_64-linux-gnu/libXt.so.6
#6 0x00007ffff7b854c8 in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#7 0x00007ffff78bbdb9 in ?? () from /lib/x86_64-linux-gnu/libXt.so.6
#8 0x00007ffff78bc26e in XtManageChildren () from /lib/x86_64-linux-gnu/libXt.so.6
#9 0x00007ffff78bc378 in XtManageChild () from /lib/x86_64-linux-gnu/libXt.so.6
#10 0x0000555555620177 in ?? ()
#11 0x000055555561cb2d in ?? ()
#12 0x000055555558e281 in ?? ()
#13 0x000055555558f0f6 in ?? ()
#14 0x00007ffff78d047b in XtCallActionProc () from /lib/x86_64-linux-gnu/libXt.so.6
#15 0x00007ffff7bd1ec2 in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#16 0x00007ffff7c79731 in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#17 0x00007ffff7c7990d in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#18 0x00007ffff7c799dc in _XmRC_KeyboardInputHandler () from /lib/x86_64-linux-gnu/libXm.so.4
#19 0x00007ffff78b22be in XtDispatchEventToWidget () from /lib/x86_64-linux-gnu/libXt.so.6
#20 0x00007ffff78b283d in ?? () from /lib/x86_64-linux-gnu/libXt.so.6
#21 0x00007ffff78b2919 in XtDispatchEvent () from /lib/x86_64-linux-gnu/libXt.so.6
#22 0x00007ffff78be5cf in XtAppProcessEvent () from /lib/x86_64-linux-gnu/libXt.so.6
#23 0x00007ffff78b2d2d in XtAppMainLoop () from /lib/x86_64-linux-gnu/libXt.so.6
WSL logs:
pulseaudio.log
weston.log
versions.txt
Expected behavior
Dialog should appear immediately
Actual behavior
Dialog appears after a 5 second delay.
The text was updated successfully, but these errors were encountered: