#939256 gkrellm: transparent themes make gkrellm crash

Package:
xfdesktop4
Source:
xfdesktop4
Description:
Xfce desktop background, icons and root menu manager
Submitter:
Nicolas Patrois
Date:
2021-01-20 03:21:08 UTC
Severity:
normal
Tags:
#939256#5
Date:
2019-09-02 13:04:02 UTC
From:
To:
Dear Maintainer,

Bug #935459 is tagged as solved but it’s not.
Themes with transparency make gkrellm crash (for example, glass, invisible*,
myrellm). Even the Default theme with alternatives ⩾3 crashes. The Breeze theme
crashes too.
I did not change anything important in my configuration nor in my software
(just apt upgrade with legacy nVidia Debian drivers, XFCE with composite) and
gkrellm crashes now. I remember that there were a gkrellm upgrade but as far as
I don’t reboot often…
gkrellm works fine with the Default theme (alternatives ⩽2) or with themes such
as thinsys, DreamWorks or black.

#939256#10
Date:
2020-08-21 16:03:28 UTC
From:
To:
Dear Maintainer,
I tried to collect some more information about this issue
and could reproduce it (details in attached file).

It looks like this issue appears just when running
gkrellm within XFCE.
The issue also shows in current testing.

When switching gkrellm to the external downloadable
theme it shows this message:

    The program 'gkrellm' received an X Window System error.
    This probably reflects a bug in the program.
    The error was 'BadPixmap (invalid Pixmap parameter)'.
      (Details: serial 6930 error_code 4 request_code 56 minor_code 0)
      (Note to programmers: normally, X errors are reported asynchronously;
       that is, you will receive the error a while after causing it.
       To debug your program, run it with the --sync command line
       option to change this behavior. You can then get a meaningful
       backtrace from your debugger if you break on the gdk_x_error() function.)

Following that advice one comes to this backtrace:
    (gdb) bt
    #0  gdk_x_error (display=0x544a60, error=0xbfffe60c) at ../../../../../gdk/x11/gdkmain-x11.c:458
    #1  0xb71d7cbf in _XError (dpy=0x544a60, rep=0x65c920) at ../../src/XlibInt.c:1491
    #2  0xb71d496c in handle_error (dpy=dpy@entry=0x544a60, err=0x65c920, in_XReply=<optimized out>) at ../../src/xcb_io.c:199
    #3  0xb71d4a17 in handle_response (dpy=dpy@entry=0x544a60, response=0x65c920, in_XReply=in_XReply@entry=1) at ../../src/xcb_io.c:324
    #4  0xb71d5b0c in _XReply (dpy=0x544a60, rep=0xbfffe77c, extra=0, discard=1) at ../../src/xcb_io.c:634
    #5  0xb71d115d in XSync (dpy=0x544a60, discard=0) at ../../src/Sync.c:44
    #6  0xb71d11fa in _XSyncFunction (dpy=0x544a60) at ../../src/Synchro.c:35
    #7  0xb71d03a7 in XSetTile (dpy=0x544a60, gc=0x681ea0, tile=989) at ../../src/SetTile.c:44
    #8  0x0049202c in gkrellm_winop_apply_rootpixmap_transparency () at winops-x11.c:735
    #9  0x004330eb in gkrellm_build () at main.c:1941
    ...


The issue seems to be that XFCE "stores" a XID of a window
into "_XROOTPMAP_ID" instead of a XID of a Pixmap.

There is this Xfce upstream bug report:

https://gitlab.xfce.org/xfce/xfdesktop/-/issues/62

Building a package xfdesktop with both patches shown in the
merge request applied, makes gkrellm be able to use such themes.

Kind regards,
Bernhard