Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
> According to upstream, this code is intended to handle errors in > async operations: gdk_x11_display_error_trap_pop_internal() uses > XNextRequest() to get a sequence number for the next X11 request, and > then _gdk_x11_display_error_event() treats sequence numbers between the > start sequence number recorded when the error trap was pushed, and the > end sequence number recorded when it was popped, as having been handled > elsewhere. Oh my god that's an absolutely insane way to go about it. I'm not sure X11 sequence numbers are even guaranteed to be in order, or increase. Anyway, the bottom line is this: one must call XSync before calling XSetErrorHandler. If the GTK devs refuse to add that one line change, well, good luck to you all. -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
> 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(0x5560a9a0, 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
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Sun, Feb 19, 2023 at 5:22 PM Simon McVittie wrote: > It's not clear to me whether this is an xscreensaver issue or a GTK > issue, so for now I'm marking it to appear in both packages' bug pages. > If this is a GTK issue, then it's way outside my X11 knowledge, so someone > with a deeper understanding (either on the GTK or xscreensaver side) > will have to pick it up. Simon, thanks a lot for investigating and upstreaming the issue. > So I think maybe xscreensaver's own error handling is fighting with GTK's? Actually if I just comment out the XSetErrorHandler() call in xscreensaver_window_realize() I cannot reproduce the crash any longer with mwm. Can those affected please try that out? Regards, Tormod
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Control: forwarded -1 https://gitlab.gnome.org/GNOME/gtk/-/issues/5607 Control: reassign -1 xscreensaver,libgtk-3-0 Control: found -1 xscreensaver/6.06+dfsg1-2 Control: found -1 libgtk-3-0/3.24.36-3 It's not clear to me whether this is an xscreensaver issue or a GTK issue, so for now I'm marking it to appear in both packages' bug pages. If this is a GTK issue, then it's way outside my X11 knowledge, so someone with a deeper understanding (either on the GTK or xscreensaver side) will have to pick it up. On Fri, 10 Feb 2023 at 10:51:21 -0800, Jamie Zawinski wrote: > I can't find the definition of gdk_x11_display_error_trap_pop_ignored or even > gdk_error_trap_pop_ignored They're in gdk/x11/gdkdisplay-x11.c, starting at https://salsa.debian.org/gnome-team/gtk3/-/blob/debian/3.24.36-3/gdk/x11/gdkdisplay-x11.c#L2805 and continuing to line 3002 (ignore gdk_x11_display_set_window_scale() in the middle, which looks unrelated). In particular, gdk_x11_display_error_trap_pop_ignored() is basically gdk_x11_display_error_trap_pop_internal(dpy, FALSE). According to upstream, this code is intended to handle errors in async operations: gdk_x11_display_error_trap_pop_internal() uses XNextRequest() to get a sequence number for the next X11 request, and then _gdk_x11_display_error_event() treats sequence numbers between the start sequence number recorded when the error trap was pushed, and the end sequence number recorded when it was popped, as having been handled elsewhere. If there was a bug in GTK's own async error handling that led to GTK receiving this error report, I'd expect to be seeing an error message starting "The program '%s' received an X Window System error", and that's not what we're getting here. Instead, we're getting "X error:" which looks like maybe xscreensaver's XmuPrintDefaultErrorMessage()? So I think maybe xscreensaver's own error handling is fighting with GTK's? My understanding is that GTK expects to be the main toolkit handling its X11 display, and has async error handling designed to minimize the number of XSync() calls in the critical path, so it doesn't have to freeze GUI updates whenever it tries something that can legitimately fail; but if xscreensaver code is doing its own lower-level X11 error processing, then that won't be aware of GTK's async error handling, and will still treat ignored-by-GTK errors as non-ignorable. If possible I'd suggest that xscreensaver-the-actual-screensaver (not a GTK program) should use its own error handling, but xscreensaver-settings (which *is* a GTK program) should defer to GTK for its error handling. If this has changed since xscreensaver 5.45, then that would explain why that version worked OK (even with a similar GTK version). > but assuming that they are the same code as _gdk_x11_error_handler_pop here -- > https://salsa.debian.org/gnome-team/gtk3/-/blob/debian/master/gdk/x11/gdkmain-x11.c#L323 That's a lower-level function called by the higher-level trap_push/trap_pop, so it isn't the full story. smcv
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Wed, 08 Feb 2023 at 15:31:49 -0800, H. S. Teoh wrote: > Since upgrading to 6.06+dfsg1-2, I have been unable to run > xscreensaver-settings or xscreensaver-demo. On Fri, 10 Feb 2023 at 09:05:45 +0100, Tormod Volden wrote: > On Fri, Feb 10, 2023 at 8:54 AM Marco wrote: > > > Marco, which window manager are you using? > > > > mwm (motif window manager), on both machines. > > I can reproduce the issue after installing mwm. Some relatively straightforward steps to reproduce, for any X11 experts who can look into this but might not have an appropriate environment: * boot debian-installer 12 alpha in a virtual machine * at the tasksel menu, deselect the default GNOME desktop and choose XFCE instead (to rule out any Wayland involvement) * boot the installed system * install the mwm package * log out from XFCE * log back in, choosing mwm in the lightdm menu * right-click on the background, Debian -> Applications -> Shells -> bash * xscreensaver-settings I confirm that running xscreensaver-settings in XFCE does not exhibit this bug, but running it in mwm does (apparently reliably, so if this is a timing thing then it's one that mwm users are likely to hit in practice). Some relevant package versions for the versions I tested: libgtk-3-0 3.24.36-3 mwm 2.3.8-3 xscreensaver 6.06+dfsg1-2 xserver-xorg-core 2:21.1.7-1 To run under a debugger with debug symbols: DEBUGINFOD_URLS=https://debuginfod.debian.net gdb `command -v xscreensaver-settings` and answer y at the prompt for whether to enable debuginfod support. On Fri, 10 Feb 2023 at 10:51:21 -0800, Jamie Zawinski wrote: > Tl;dr -- it looks like GDK is attempting to call XSetInputFocus and > ignore errors from it, but it is doing it wrong. 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), or are you saying that it's a secondary bug in GDK that is getting in the way of further investigation of why xscreensaver-settings doesn't start? > As for why this is happening in XScreenSaver -- I suspect other > apps running under this WM will have this problem as well. It would be > interesting to try out a few more GTK3 apps and see if the same crash > happens there. But it is obviously timing related, so that might not > turn up any examples. 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). On Sat, 11 Feb 2023 at 09:43:24 -0800, Jamie Zawinski wrote: > You may want to report a second bug against GTK, that calling > XSynchronize (dpy, True) does not work -- it appears that GTK or GDK > are setting that to false at some time later. This surprised me, because there's only one mention of XSynchronize in the GTK 3 source code as shipped in Debian, and that's the call to XSynchronize (display_x11->xdisplay, True) in gdk/x11/gdkdisplay-x11.c when GDK_SYNCHRONIZE is used for debugging. When not debugging, GTK/GDK doesn't toggle the flag, and leaves it at its default; it never explicitly calls XSynchronize(., False). >From running under a debugger with GDK_SYNCHRONIZE=1, with a breakpoint on XSynchronize, I think this part is a bad interaction with xscreensaver's use of Xt, rather than a GDK/GTK bug: - XSynchronize is called for the first time from XOpenDisplay() when called by _gdk_x11_display_open() from gtk_init() (dpy=0x5560a9a0 in my case); this is OK, it's just the implementation of the default. - then GDK calls XSynchronize(., True) requested by GDK_SYNCHRONIZE=1 - then AT-SPI makes another XOpenDisplay() call while discovering the accessibility bus, which again calls XSynchronize(., False), but this is a second, parallel connection (in my case dpy=0x556839e0) so if I understand correctly, its error handling is orthogonal to the error handling on connection 0x5560a9a0 used by GDK/GTK/xscreensaver. This is OK, it's just the implementation of the default. - Then in xscreensaver_window_realize() -> XtDisplayInitialize(), _XtDisplayInitialize calls XSynchronize(0x5560a9a0, 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. In summary, GDK's call to XSynchronize to implement GDK_SYNCHRONIZE looks correct, but is done sufficiently early that in xscreensaver-settings, Xt's call overwrites its effect. smcv
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 9:58 PM Tormod Volden wrote: > > reassign 1030909 gtk+3.0 3.24.36-3 > affects 1030909 xscreensaver 6.06+dfsg1-2 > thanks > > OK, let's see if the gtk package maintainers can comment on this. I am afraid this is not reaching the attention of the gtk packagers or is not getting much priority. Is there any workaround we can add to xscreensaver to reduce the probability of the issue manifesting? It apparently worked better with previous versions of xscreensaver. Tormod
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 08:58:41AM +0100, Tormod Volden wrote: > On Fri, Feb 10, 2023 at 1:18 AM H. S. Teoh wrote: > > > xscreensaver-settings: 16:11:29: xscreensaver-gl-visual did not report a GL > > visual! > > Segmentation fault > > --snip--- > > > > Apparently there *is* a segfault, even though it doesn't appear that way > > when I run the official binaries. This looks to be the same bug as > > #1030659 after all. > > Teoh, can you please apply the patch I posted in #1030659 to get rid > of the segfault? Hi Tormod, Sorry for taking so long to get back to you. Here's the output after I recompiled with the patch: --snip--- xscreensaver-settings: 11:15:48: DISPLAY=:0.0 xscreensaver-settings: 11:15:48: added "/usr/libexec/xscreensaver" to $PATH xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkSpinButton xscreensaver-settings: 11:15:48: pref changed: GtkCheckButton xscreensaver-settings: 11:15:48: pref changed: GtkCheckButton xscreensaver-settings: 11:15:48: pref changed: GtkCheckButton xscreensaver-settings: 11:15:48: pref changed: GtkRadioButton xscreensaver-settings: 11:15:48: pref changed: GtkRadioButton xscreensaver-settings: 11:15:48: list selection changed xscreensaver-settings: 11:15:48: scheduling preview "moebiusgears --root" xscreensaver-settings: 11:15:48: /usr/local/share/xscreensaver/config/moebiusgears.xml does not exist. xscreensaver-settings: 11:15:48: scheduling preview "moebiusgears --root" xscreensaver-settings: 11:15:48: /usr/local/share/xscreensaver/config/moebiusgears.xml does not exist. xscreensaver-settings: 11:15:48: scheduling preview "moebiusgears --root" xscreensaver-settings: 11:15:48: select list elt 145 xscreensaver-settings: 11:15:48: scheduling preview "moebiusgears --root" xscreensaver-settings: 11:15:48: /usr/local/share/xscreensaver/config/moebiusgears.xml does not exist. xscreensaver-settings: 11:15:48: scheduling preview "moebiusgears --root" xscreensaver-settings: 11:15:48: xscreensaver-gl-visual did not report a GL visual! xscreensaver-settings: 11:15:48: couldn't convert X Visual 0x0 to a GdkVisual; winging it. xscreensaver-settings: 11:15:48: using default visual 0x0 xscreensaver-settings: 11:15:48: saved screenshot 0x1a00010 1920x1080 for window 0x1af 425x238+437+116 xscreensaver-settings: 11:15:48: X error: xscreensaver-settings: Failed request: BadMatch (invalid parameter attributes) xscreensaver-settings: Major opcode: 42 (X_SetInputFocus) xscreensaver-settings: Resource id:0x1a7 xscreensaver-settings: Serial number: 451 / 452 --snip--- > In your first post (with the Debian binaries) > xscreensaver-gl-visual reported 0x21, and there was no segfault. I > wonder why xscreensaver-gl-visual is giving different results. Debian > is not patching anything in this regard, although build flags can be > different in your local build. Can you please attach your config.h? > Did you install all standard build dependencies for xscreensaver? [...] I did an `apt-get builddep xscreensaver`. That ought to have been enough, right? Here's my config.h: --snip--- /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* xscreensaver, Copyright © 1991-2022 Jamie Zawinski. * Generate this file by running 'configure' rather than editing it by hand. */ /* Define this to allow root to unlock, when not using PAM. */ /* #undef ALLOW_ROOT_PASSWD */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #define ENABLE_NLS 1 /* This is the name of the gettext package to use. */ #define GETTEXT_PACKAGE "xscreensaver" /* Define this if gettimeofday takes two arguments. */ #define GETTIMEOFDAY_TWO_ARGS 1 /* Define this for Solaris getpwanam. */ /* #undef HAVE_ADJUNCT_PASSWD */ /* Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ /* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ /* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ /* Define to 1 if you have the header file. */ #define HAVE_CRYPT_H 1 /* Define if the GNU dcgettext() function is already present or preinstalled. */ #define HAVE_DCGETTEXT 1 /* Define to 1 if you have the header file, and it defines
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
For completeness, here is the backtrace at breakpoint on XSetInputFocus, on Debian unstable with debug symbols (before launching gdb, export DEBUGINFOD_URLS="https://debuginfod.debian.net; ). (gdb) bt full #0 XSetInputFocus (dpy=0x555fda90, focus=focus@entry=41943047, revert_to=revert_to@entry=2, time=time@entry=0) at ../../src/SetIFocus.c:41 req = #1 0x77f3678f in gdk_x11_window_focus (window=, timestamp=0) at ../../../gdk/x11/gdkwindow-x11.c:2326 display = 0x556110f0 [GdkX11Display] __func__ = "gdk_x11_window_focus" #2 0x7798cfeb in gtk_window_present_with_time (window=0x556e47c0 [XScreenSaverWindow], timestamp=0) at ../../../gtk/gtkwindow.c:10611 priv = widget = 0x556e47c0 [XScreenSaverWindow] gdk_window = 0x5595ac30 [GdkX11Window] __func__ = "gtk_window_present_with_time" #3 0x5557009d in xscreensaver_app_activate (app=0x555da0f0 [XScreenSaverApp]) at demo-Gtk.c:5321 win = 0x556e47c0 [XScreenSaverWindow] debug_p = 1 dpy = 0x555fda90 #4 0x770f55a9 in _g_closure_invoke_va (closure=closure@entry=0x555d4400, return_value=return_value@entry=0x0, instance=instance@entry=0x555da0f0, args=args@entry=0x7fffdc30, n_params=0, param_types=0x0) at ../../../gobject/gclosure.c:895 marshal = 0x770f3b60 marshal_data = 0x90 in_marshal = 0 real_closure = 0x555d43e0 __func__ = "_g_closure_invoke_va" #5 0x7710ebbf in g_signal_emit_valist (instance=0x555da0f0, signal_id=8, detail=, var_args=var_args@entry=0x7fffdc30) at ../../../gobject/gsignal.c:3456 return_accu = accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} accumulator = 0x0 emission = {next = 0x0, instance = 0x555da0f0, ihint = {signal_id = 8, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555d2640 [XScreenSaverApp/GtkApplication/GApplication]} instance_type = emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} rtype = 0x4 [void] static_scope = 0 fastpath_handler = closure = run_type = hlist = l = fastpath = instance_and_params = signal_return_type = param_values = node = i = n_params = __func__ = "g_signal_emit_valist" #6 0x7710edbf in g_signal_emit (instance=instance@entry=0x555da0f0, signal_id=, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606 var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffdd10, reg_save_area = 0x7fffdc50}} #7 0x774ff0c3 in g_application_activate (application=application@entry=0x555da0f0 [XScreenSaverApp]) at ../../../gio/gapplication.c:2312 __func__ = "g_application_activate" #8 0x774ff438 in g_application_real_local_command_line (application=0x555da0f0 [XScreenSaverApp], arguments=0x7fffdd78, exit_status=0x7fffdd74) at ../../../gio/gapplication.c:1148 error = 0x0 options = 0x555dbfa0 n_args = 1 #9 0x774ff5c6 in g_application_run (application=0x555da0f0 [XScreenSaverApp], argc=, argv=) at ../../../gio/gapplication.c:2542 arguments = 0x555db710 status = -1 context = 0x555db770 acquired_context = __func__ = "g_application_run" #10 0x5557040b in main (argc=2, argv=0x7fffdf18) at demo-Gtk.c:5398 s = 0x7fffe2a6 "/xscreensaver-settings" (gdb) c Note that if I install an empty command (command 1, continue, end) at the breakpoint, the crash doesn't happen. So it is timing sensitive. I don't even know if the backtrace corresponds to the request in the crash, it is the only occurrence of XSetInputFocus when I have a breakpoint, but maybe it is different without. On another system I see two occurrences before the window comes up finished.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
You may want to report a second bug against GTK, that calling XSynchronize (dpy, True) does not work -- it appears that GTK or GDK are setting that to false at some time later. Proof: Add this to, e.g., update_subproc_timer and run with --debug: XSetWindowBackgroundPixmap (s->dpy, 0, 0); A second or two after startup, this will cause an X error. Backtrace will show a stack that does not include update_subproc_timer or XSetWindowBackgroundPixmap. Add XSynchronize (s->dpy, True); before that line. Now the backtrace is as expected. -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
reassign 1030909 gtk+3.0 3.24.36-3 affects 1030909 xscreensaver 6.06+dfsg1-2 thanks OK, let's see if the gtk package maintainers can comment on this.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
I meant to say: 1: every call to *XSetErrorHandler* has XSync before it, or 2: every *non-blocking* X11 call inside gdk_x11_display_error_trap_push has XSync before it.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
See also https://github.com/mirror/libX11/blob/master/src/ErrHndlr.c#L38 -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Feb 10, 2023, at 5:29 AM, Tormod Volden wrote: > > Here is the code around that XSetInputFocus(): > https://salsa.debian.org/gnome-team/gtk3/-/blob/debian/master/gdk/x11/gdkdisplay-x11.c#L1473 Tl;dr -- it looks like GDK is attempting to call XSetInputFocus and ignore errors from it, but it is doing it wrong. I can't find the definition of gdk_x11_display_error_trap_pop_ignored or even gdk_error_trap_pop_ignored, but assuming that they are the same code as _gdk_x11_error_handler_pop here -- https://salsa.debian.org/gnome-team/gtk3/-/blob/debian/master/gdk/x11/gdkmain-x11.c#L323 that code is uselessly wrong and cannot ever have worked. If you don't call XSync before calling XSetErrorHandler, you have not blocked the error. All XSetErrorHandler does it set a function pointer on the Display object, it does not guarantee that the potential error response has been received. - Set error handler A - X request B generates error - Set error handler C - X requests D - X are sent - X request Z waits for a reply, receives error B - Error handler C is called instead of error handler A Now if you only used gdk_x11_display_error_trap_push and gdk_x11_display_error_trap_pop_ignored around an X11 function that waited for a response -- a "get" function -- that would work because a read implies a flush. But XSetInputFocus does not block. GDK should be changed so that either: 1: every call to XSetInputFocus has XSync before it, or 2: every *non-blocking* X11 call inside gdk_x11_display_error_trap_push has XSync before it. I suspect that with #1 it will be easier to not miss anything. As for why this is happening in XScreenSaver -- I suspect other apps running under this WM will have this problem as well. It would be interesting to try out a few more GTK3 apps and see if the same crash happens there. But it is obviously timing related, so that might not turn up any examples. -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Here is the code around that XSetInputFocus(): https://salsa.debian.org/gnome-team/gtk3/-/blob/debian/master/gdk/x11/gdkdisplay-x11.c#L1473
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
And this is the XSetInputFocus call sending the offending request (on the same system). (gdb) bt #0 0x76cfb350 in XSetInputFocus () at /lib/x86_64-linux-gnu/libX11.so.6 #1 0x77eec2c1 in _gdk_wm_protocols_filter (xev=0x7fffd8e0, event=, data=) at ../../../../../gdk/x11/gdkdisplay-x11.c:1473 #2 0x77ef104f in gdk_event_apply_filters (xevent=xevent@entry=0x7fffd8e0, event=event@entry=0x55a185e0, window=window@entry=0x0) at ../../../../../gdk/x11/gdkeventsource.c:79 #3 0x77ef137b in gdk_event_source_translate_event (xevent=0x7fffd8e0, event_source=0x55629340) at ../../../../../gdk/x11/gdkeventsource.c:198 #4 _gdk_x11_display_queue_events (display=0x55616020) at ../../../../../gdk/x11/gdkeventsource.c:341 #5 0x77eb90e4 in gdk_display_get_event (display=display@entry=0x55616020) at ../../../../gdk/gdkdisplay.c:441 #6 0x77ef10e6 in gdk_event_source_dispatch (source=, callback=, user_data=) at ../../../../../gdk/x11/gdkeventsource.c:363 #7 0x7718e17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x7718e400 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x7718e4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x77501fe5 in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #11 0x555727e0 in main (argc=2, argv=0x7fffdcb8) at demo-Gtk.c:5365 (gdb)
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
> FWIW, there is a GDK_SYNCHRONIZE environment variable that makes GDK > call XSynchronize some places. This the X error backtrace with GDK_SYNCHRONIZE set. Note this is not on Debian unstable and I couldn't install libX11 debug symbols. (gdb) bt #0 x_error (dpy=0x77e56460, error=0x7fffd560) at demo-Gtk.c:4257 #1 0x76d03734 in _XError () at /lib/x86_64-linux-gnu/libX11.so.6 #2 0x76d00107 in () at /lib/x86_64-linux-gnu/libX11.so.6 #3 0x76d001a5 in () at /lib/x86_64-linux-gnu/libX11.so.6 #4 0x76d0145d in _XReply () at /lib/x86_64-linux-gnu/libX11.so.6 #5 0x76ceb54b in XInternAtom () at /lib/x86_64-linux-gnu/libX11.so.6 #6 0x77ef76d4 in gdk_x11_atom_to_xatom_for_display (atom=0x9a, display=0x55617020) at ../../../../../gdk/x11/gdkproperty-x11.c:115 #7 gdk_x11_atom_to_xatom_for_display (display=0x55617020, atom=0x9a) at ../../../../../gdk/x11/gdkproperty-x11.c:96 #8 0x77eeb65c in gdk_x11_display_translate_event (translator=, display=0x55617020, event=0x559f2340, xevent=0x7fffd8e0) at ../../../../../gdk/x11/gdkdisplay-x11.c:1068 #9 0x77ef1989 in _gdk_x11_event_translator_translate (translator=0x55617020, display=0x55617020, xevent=xevent@entry=0x7fffd8e0) at ../../../../../gdk/x11/gdkeventtranslator.c:51 #10 0x77ef1474 in gdk_event_source_translate_event (xevent=0x7fffd8e0, event_source=0x55629b40) at ../../../../../gdk/x11/gdkeventsource.c:243 #11 _gdk_x11_display_queue_events (display=0x55617020) at ../../../../../gdk/x11/gdkeventsource.c:341 #12 0x77eb90e4 in gdk_display_get_event (display=display@entry=0x55617020) at ../../../../gdk/gdkdisplay.c:441 #13 0x77ef10e6 in gdk_event_source_dispatch (source=, callback=, user_data=) at ../../../../../gdk/x11/gdkeventsource.c:363 #14 0x7718e17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #15 0x7718e400 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x7718e4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #17 0x77501fe5 in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #18 0x555727e0 in main (argc=2, argv=0x7fffdcb8) at demo-Gtk.c:5365 (gdb)
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
> > You'll need to run with -sync for backtraces of X errors to make any sense. > > (Seeing XInternAtom in the stack is always an indication that the backtrace > > is bogus.) > > I have indeed tried -sync and --sync but it is not recognized by > xscreensaver-settings. How do I enable it? FWIW, there is a GDK_SYNCHRONIZE environment variable that makes GDK call XSynchronize some places. "GDK_SYNCHRONIZE If set, GDK makes all X requests synchronously. This is a useful option for debugging, but it will slow down the performance considerably."
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Feb 10, 2023, at 1:50 AM, Tormod Volden wrote: > > Wait, this was different: What is the X error if you let that continue? -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
> Neither of those changed the backtrace. Hmm. Try setting breakpoints in xscreensaver_app_new, xscreensaver_app_class_init, xscreensaver_app_open, xscreensaver_app_activate, xscreensaver_app_startup, xscreensaver_dialog_init, and xscreensaver_dialog_realize and let's see whether any of those are actually being called before the X error happens. If so, try putting the XSynchronize call there. If not... the X error is happening so early that it must be a GTK or GDK bug? -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Wait, this was different: (gdb) bt full #0 x_error (dpy=0x77e56460, error=0x7fffd610) at demo-Gtk.c:4253 #1 0x76d03734 in _XError () at /lib/x86_64-linux-gnu/libX11.so.6 #2 0x76d00107 in () at /lib/x86_64-linux-gnu/libX11.so.6 #3 0x76d001a5 in () at /lib/x86_64-linux-gnu/libX11.so.6 #4 0x76d0145d in _XReply () at /lib/x86_64-linux-gnu/libX11.so.6 #5 0x76cfcae1 in XSync () at /lib/x86_64-linux-gnu/libX11.so.6 #6 0x77f06f88 in gdk_x11_window_get_xid () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #7 0x5556d36f in launch_preview_subproc (s=0x55749360) at demo-Gtk.c:3576 win = 0x55749320 p = 0x55749400 id = 93824993337600 new_cmd = 0x55780d10 "\300\276\267UUU" forked = -1854788039 cmd = 0x5599eac0 "squirtorus --root" pr = 0x555dd330 window = 0x558a4da0 #8 0x5556d9eb in update_subproc_timer (data=0x55749360) at demo-Gtk.c:3759 s = 0x55749360 #9 0x7718ebe8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x7718e04e in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x7718e400 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x7718e4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #13 0x77501fe5 in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #14 0x555727a7 in main (argc=2, argv=0x7fffdcc8) at demo-Gtk.c:5349 s = 0x7fffe0db "/xscreensaver-settings"
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 10:29 AM Jamie Zawinski wrote: > > Ugh. Try adding XSynchronize (s->dpy, True); to xscreensaver_window_realize > around line 4958, just after s->dpy = gdk_x11_get_default_xdisplay(); > > It's possible that that won't be early enough to catch it... If not, maybe > this in xscreensaver_window_init -- > > XSynchronize (gdk_x11_get_default_xdisplay(), True); Neither of those changed the backtrace. > > Wayland isn't involved here, is it? xscreensaver-settings should have printed > warnings if so. No Wayland here.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Ugh. Try adding XSynchronize (s->dpy, True); to xscreensaver_window_realize around line 4958, just after s->dpy = gdk_x11_get_default_xdisplay(); It's possible that that won't be early enough to catch it... If not, maybe this in xscreensaver_window_init -- XSynchronize (gdk_x11_get_default_xdisplay(), True); Wayland isn't involved here, is it? xscreensaver-settings should have printed warnings if so. -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
You'll need to run with -sync for backtraces of X errors to make any sense. (Seeing XInternAtom in the stack is always an indication that the backtrace is bogus.) xscreensaver-settings doesn't do anything with focus, though, so this is still confusing. -- Jamie Zawinski • jwz.org • dnalounge.com
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 10:08 AM Jamie Zawinski wrote: > > You'll need to run with -sync for backtraces of X errors to make any sense. > (Seeing XInternAtom in the stack is always an indication that the backtrace > is bogus.) I have indeed tried -sync and --sync but it is not recognized by xscreensaver-settings. How do I enable it? > > xscreensaver-settings doesn't do anything with focus, though, so this is > still confusing.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 9:10 AM Marco wrote: > > What is the difference in the behaviour of the according to X? > Is it a fault of mwm or XScreensaver? I think XScreensaver must wait and ensure the windows is mapped and viewable before sending the X_SetInputFocus request to it. Whether the fix should be in XScreensaver or a graphics library, I don't know, but I am sure Jamie can enlighten us. The problem didn't occur with previous XScreensaver versions. This the backtrace (break on _exit): #3 0x5556eb90 in x_error (dpy=0x55605910, error=0x7fffd580) at demo-Gtk.c:4258 #4 0x76d03734 in _XError () at /lib/x86_64-linux-gnu/libX11.so.6 #5 0x76d00107 in () at /lib/x86_64-linux-gnu/libX11.so.6 #6 0x76d001a5 in () at /lib/x86_64-linux-gnu/libX11.so.6 #7 0x76d0145d in _XReply () at /lib/x86_64-linux-gnu/libX11.so.6 #8 0x76ceb54b in XInternAtom () at /lib/x86_64-linux-gnu/libX11.so.6 #9 0x77ef76d4 in gdk_x11_atom_to_xatom_for_display () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #10 0x77eeb65c in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #11 0x77ef1989 in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #12 0x77ef1474 in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #13 0x77eb90e4 in gdk_display_get_event () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #14 0x77ef10e6 in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #15 0x7718e17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 --Type for more, q to quit, c to continue without paging-- #16 0x7718e400 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #17 0x7718e4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x77501fe5 in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #19 0x55572752 in main (argc=2, argv=0x7fffdcc8) at demo-Gtk.c:5346 I saw a similar problem here: https://github.com/libsdl-org/SDL/issues/3949 Tormod
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Am 10.02.2023 schrieb Tormod Volden : > On Fri, Feb 10, 2023 at 8:54 AM Marco wrote: > > > Marco, which window manager are you using? > > > > mwm (motif window manager), on both machines. > > I can reproduce the issue after installing mwm. (Normally I use the > Marco window manager :) ) What is the difference in the behaviour of the according to X? Is it a fault of mwm or XScreensaver?
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 8:54 AM Marco wrote: > > Marco, which window manager are you using? > > mwm (motif window manager), on both machines. I can reproduce the issue after installing mwm. (Normally I use the Marco window manager :) ) Tormod
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Fri, Feb 10, 2023 at 1:18 AM H. S. Teoh wrote: > xscreensaver-settings: 16:11:29: xscreensaver-gl-visual did not report a GL > visual! > Segmentation fault > --snip--- > > Apparently there *is* a segfault, even though it doesn't appear that way > when I run the official binaries. This looks to be the same bug as > #1030659 after all. Teoh, can you please apply the patch I posted in #1030659 to get rid of the segfault? In your first post (with the Debian binaries) xscreensaver-gl-visual reported 0x21, and there was no segfault. I wonder why xscreensaver-gl-visual is giving different results. Debian is not patching anything in this regard, although build flags can be different in your local build. Can you please attach your config.h? Did you install all standard build dependencies for xscreensaver? Tormod
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Am 09.02.2023 schrieb Tormod Volden : > From searching about failing X_SetInputFocus requests, one common > cause is that the window hasn't been mapped by the window manager yet. > I notice that Teoh is using the ratpoison window manager. > > Marco, which window manager are you using? mwm (motif window manager), on both machines.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Thu, Feb 09, 2023 at 11:16:15AM +0100, Tormod Volden wrote: > On Thu, Feb 9, 2023 at 10:20 AM Tormod Volden wrote: > > Would it be possible for you to build the upstream sources, without > > optimization, and try it out? You shouldn't need to install any of > > it, just run driver/xscreensaver-settings --debug from the build > > tree. And also rename your ~/.xscreensaver so that it runs with > > default settings. > > Now it gets a bit complicated if we don't want to install it, but at > the same time let the built xscreensaver-settings find the > screensavers from the already installed Debian packages, we need to > set the exec-prefix. In this case do not run make install afterwards! > >From unpacked upstream sources: > > ./configure CFLAGS="-g -O0" --exec-prefix=/usr > make -j4 > driver/xscreensaver-settings --debug [...] Here is the output: --snip--- $ driver/xscreensaver-settings --debug xscreensaver-settings: 16:11:29: DISPLAY=:0.0 xscreensaver-settings: 16:11:29: added "/usr/libexec/xscreensaver" to $PATH xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkSpinButton xscreensaver-settings: 16:11:29: pref changed: GtkCheckButton xscreensaver-settings: 16:11:29: pref changed: GtkCheckButton xscreensaver-settings: 16:11:29: pref changed: GtkCheckButton xscreensaver-settings: 16:11:29: pref changed: GtkRadioButton xscreensaver-settings: 16:11:29: pref changed: GtkRadioButton xscreensaver-settings: 16:11:29: list selection changed xscreensaver-settings: 16:11:29: scheduling preview "polytopes -root -polytope 120-cell" xscreensaver-settings: 16:11:29: /usr/local/share/xscreensaver/config/polytopes.xml does not exist. xscreensaver-settings: 16:11:29: scheduling preview "polytopes -root -polytope 120-cell" xscreensaver-settings: 16:11:29: /usr/local/share/xscreensaver/config/polytopes.xml does not exist. xscreensaver-settings: 16:11:29: scheduling preview "polytopes -root -polytope 120-cell" xscreensaver-settings: 16:11:29: select list elt 168 xscreensaver-settings: 16:11:29: scheduling preview "polytopes -root -polytope 120-cell" xscreensaver-settings: 16:11:29: /usr/local/share/xscreensaver/config/polytopes.xml does not exist. xscreensaver-settings: 16:11:29: scheduling preview "polytopes -root -polytope 120-cell" xscreensaver-settings: 16:11:29: xscreensaver-gl-visual did not report a GL visual! Segmentation fault --snip--- Apparently there *is* a segfault, even though it doesn't appear that way when I run the official binaries. This looks to be the same bug as #1030659 after all. T -- If it tastes good, it's probably bad for you.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Thu, Feb 09, 2023 at 08:57:22PM +0100, Tormod Volden wrote: > > Since upgrading to 6.06+dfsg1-2, I have been unable to run > > xscreensaver-settings or xscreensaver-demo. The main xscreensaver > > >From which version did you upgrade? 5.45+dfsg1-2 T -- Written on the window of a clothing store: No shirt, no shoes, no service.
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
>From searching about failing X_SetInputFocus requests, one common cause is that the window hasn't been mapped by the window manager yet. I notice that Teoh is using the ratpoison window manager. Marco, which window manager are you using?
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
On Thu, Feb 9, 2023 at 10:20 AM Tormod Volden wrote: > Would it be possible for you to build the upstream sources, without > optimization, and try it out? You shouldn't need to install any of it, > just run driver/xscreensaver-settings --debug from the build tree. And > also rename your ~/.xscreensaver so that it runs with default > settings. Now it gets a bit complicated if we don't want to install it, but at the same time let the built xscreensaver-settings find the screensavers from the already installed Debian packages, we need to set the exec-prefix. In this case do not run make install afterwards! >From unpacked upstream sources: ./configure CFLAGS="-g -O0" --exec-prefix=/usr make -j4 driver/xscreensaver-settings --debug Tormod
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Hi, thanks for your report. Thanks also for checking for similar existing bugs. I believe it is the same issue as in #1030659 but for now it is better to track the reports separately. I was thinking that if it was a real issue there must be more reports coming. I am not able to reproduce this myself. Would it be possible for you to build the upstream sources, without optimization, and try it out? You shouldn't need to install any of it, just run driver/xscreensaver-settings --debug from the build tree. And also rename your ~/.xscreensaver so that it runs with default settings. Tormod On Thu, Feb 9, 2023 at 1:06 AM H. S. Teoh wrote: > > Package: xscreensaver > Version: 6.06+dfsg1-2 > Severity: important > > Since upgrading to 6.06+dfsg1-2, I have been unable to run > xscreensaver-settings or xscreensaver-demo. The main xscreensaver > binary still runs and works correctly; however, I can no longer > configure which screensavers show up except by editing .xscreensaver by > hand. So marking this as important. > > Here's the typical output from xscreensaver-settings: > > xscreensaver-settings: 15:24:45: X error: > xscreensaver-settings: Failed request: BadMatch (invalid parameter > attributes) > xscreensaver-settings: Major opcode: 42 (X_SetInputFocus) > xscreensaver-settings: Resource id:0x187 > xscreensaver-settings: Serial number: 440 / 441 > > Here's the output from xscreensaver-settings --debug: > > xscreensaver-settings: 15:25:11: DISPLAY=:0 > xscreensaver-settings: 15:25:11: added "/usr/libexec/xscreensaver" to > $PATH > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton > xscreensaver-settings: 15:25:11: pref changed: GtkCheckButton > xscreensaver-settings: 15:25:11: pref changed: GtkCheckButton > xscreensaver-settings: 15:25:11: pref changed: GtkCheckButton > xscreensaver-settings: 15:25:11: pref changed: GtkRadioButton > xscreensaver-settings: 15:25:11: pref changed: GtkRadioButton > xscreensaver-settings: 15:25:11: list selection changed > xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" > xscreensaver-settings: 15:25:11: reading > /usr/share/xscreensaver/config/hextrail.xml... > xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" > xscreensaver-settings: 15:25:11: reading > /usr/share/xscreensaver/config/hextrail.xml... > xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" > xscreensaver-settings: 15:25:11: select list elt 114 > xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" > xscreensaver-settings: 15:25:11: reading > /usr/share/xscreensaver/config/hextrail.xml... > xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" > xscreensaver-settings: 15:25:12: xscreensaver-gl-visual says the GL > visual is 0x21. > xscreensaver-settings: 15:25:12: using non-default visual 0x21 > xscreensaver-settings: 15:25:12: saved screenshot 0x1800010 1920x1080 > for window 0x18f 425x238+437+116 > > xscreensaver-settings: 15:25:12: X error: > xscreensaver-settings: Failed request: BadMatch (invalid parameter > attributes) > xscreensaver-settings: Major opcode: 42 (X_SetInputFocus) > xscreensaver-settings: Resource id:0x187 > xscreensaver-settings: Serial number: 440 / 441 > > I found bug #1030659, which seems to be related to this issue (it also > has the X_SetInputFocus error), but in my case there is no segfault so I > decided to file a separate bug. > > Some other information that may be pertinent: > - CPU: AMD Ryzen 7 5700G with Radeon Graphics > - GPU: Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8) > - glxinfo output: please see attached. > - Desktop environment: none, using minimal XDM + ratpoison as WM. > > Possibly relevant packages: > > hi ratpoison 1.4.8-2+b1amd64keyboard-only > window manager > ii xdm1:1.1.11-3+b2 amd64X display > manager > ii xserver-common 2:21.1.6-1all common files > used by various X servers > ii xserver-xorg-core 2:21.1.6-1amd64Xorg X server - > core server > ii xserver-xorg-input-evdev 1:2.10.6-2+b1 amd64X.Org X server > -- evdev input driver > ii xserver-xorg-input-kbd 1:1.9.0-1+b3 amd64
Bug#1030909: Unable to run xscreensaver-demo or xscreensaver-settings
Package: xscreensaver Version: 6.06+dfsg1-2 Severity: important Since upgrading to 6.06+dfsg1-2, I have been unable to run xscreensaver-settings or xscreensaver-demo. The main xscreensaver binary still runs and works correctly; however, I can no longer configure which screensavers show up except by editing .xscreensaver by hand. So marking this as important. Here's the typical output from xscreensaver-settings: xscreensaver-settings: 15:24:45: X error: xscreensaver-settings: Failed request: BadMatch (invalid parameter attributes) xscreensaver-settings: Major opcode: 42 (X_SetInputFocus) xscreensaver-settings: Resource id:0x187 xscreensaver-settings: Serial number: 440 / 441 Here's the output from xscreensaver-settings --debug: xscreensaver-settings: 15:25:11: DISPLAY=:0 xscreensaver-settings: 15:25:11: added "/usr/libexec/xscreensaver" to $PATH xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkSpinButton xscreensaver-settings: 15:25:11: pref changed: GtkCheckButton xscreensaver-settings: 15:25:11: pref changed: GtkCheckButton xscreensaver-settings: 15:25:11: pref changed: GtkCheckButton xscreensaver-settings: 15:25:11: pref changed: GtkRadioButton xscreensaver-settings: 15:25:11: pref changed: GtkRadioButton xscreensaver-settings: 15:25:11: list selection changed xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" xscreensaver-settings: 15:25:11: reading /usr/share/xscreensaver/config/hextrail.xml... xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" xscreensaver-settings: 15:25:11: reading /usr/share/xscreensaver/config/hextrail.xml... xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" xscreensaver-settings: 15:25:11: select list elt 114 xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" xscreensaver-settings: 15:25:11: reading /usr/share/xscreensaver/config/hextrail.xml... xscreensaver-settings: 15:25:11: scheduling preview "hextrail --root" xscreensaver-settings: 15:25:12: xscreensaver-gl-visual says the GL visual is 0x21. xscreensaver-settings: 15:25:12: using non-default visual 0x21 xscreensaver-settings: 15:25:12: saved screenshot 0x1800010 1920x1080 for window 0x18f 425x238+437+116 xscreensaver-settings: 15:25:12: X error: xscreensaver-settings: Failed request: BadMatch (invalid parameter attributes) xscreensaver-settings: Major opcode: 42 (X_SetInputFocus) xscreensaver-settings: Resource id:0x187 xscreensaver-settings: Serial number: 440 / 441 I found bug #1030659, which seems to be related to this issue (it also has the X_SetInputFocus error), but in my case there is no segfault so I decided to file a separate bug. Some other information that may be pertinent: - CPU: AMD Ryzen 7 5700G with Radeon Graphics - GPU: Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8) - glxinfo output: please see attached. - Desktop environment: none, using minimal XDM + ratpoison as WM. Possibly relevant packages: hi ratpoison 1.4.8-2+b1amd64keyboard-only window manager ii xdm1:1.1.11-3+b2 amd64X display manager ii xserver-common 2:21.1.6-1all common files used by various X servers ii xserver-xorg-core 2:21.1.6-1amd64Xorg X server - core server ii xserver-xorg-input-evdev 1:2.10.6-2+b1 amd64X.Org X server -- evdev input driver ii xserver-xorg-input-kbd 1:1.9.0-1+b3 amd64X.Org X server -- keyboard input driver ii xserver-xorg-input-libinput1.2.1-1+b1amd64X.Org X server -- libinput input driver ii xserver-xorg-input-mouse 1:1.9.3-1+b1 amd64X.Org X server -- mouse input driver ii xserver-xorg-video-amdgpu 22.0.0-3 amd64X.Org X server -- AMDGPU display driver T -- Recently, our IT department hired a bug-fix engineer. He used to work for Volkswagen.