Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings

Jamie Zawinski jwz at jwz.org
Sun Feb 19 17:46:21 GMT 2023


> I'm not an expert on the finer points of the X11 protocol, so I'm not sure
> what this implies. Are you saying that this is (likely to be) the root
> cause of the user-visible bug here (xscreensaver-settings not starting),

Yes.

GTK calls XSetInputFocus (for some unknown reason) and attempts to ignore errors from it (for some other unknown reason, but possibly this very one). That XSetInputFocus call is the one triggering the X error causing xscreensaver-settings to crash. Had GTK ignored the error properly, this would not happen.

> In the VM where I reproduced this, xfce4-terminal is working fine, and
> some random GTK 3 apps like xfce4-about and xfce4-mouse-settings are also
> working normally, so there's some extra factor with xscreensaver-settings
> (perhaps just order of operations during startup, or perhaps X11 calls
> done via GTK are colliding with direct X11 calls done by xscreensaver).

That's unfortunate, but it is all very timing-sensitive, so anything could be throwing that off.

> - Then in xscreensaver_window_realize() -> XtDisplayInitialize(),
>  _XtDisplayInitialize calls XSynchronize(0x55555560a9a0, False),
>  undoing the effect of GDK_SYNCHRONIZE=1 on the connection used by
>  GTK/GDK/xscreensaver. I think this is why GDK_SYNCHRONIZE had no
>  effect for you.

This makes sense, thanks. In that case, moving the call to XSynchronize to just after the call to XtDisplayInitialize should fix that oddity, at least.

-- 
Jamie Zawinski • jwz.org • dnalounge.com



More information about the pkg-gnome-maintainers mailing list