RenderBadPicture xerror on Xfce startup
Short version: when I start Xfce from xdm, I get a running xfdesktop instance that doesn't work. The wallpaper gets set, then there's something like a flicker (but not really a flicker), and then what should be a usable desktop is there, except it isn't. If I do a "pkill xfdesktop" at that point, the auto-respawned instance of xfdesktop works just fine and it's like nothing was ever wrong. This was first noticed after upgrading everything to xfce-4.16, but since then I've determined that it still occurs after downgrading everything back to 4.14.x. This is what I see in $HOME/.xsession-errors when things don't work properly:
(xfwm4:1519): Gdk-ERROR **: 01:43:48.196: The program 'xfwm4' received an X Window System error. This probably reflects a bug in the program. The error was 'RenderBadPicture (invalid Picture parameter)'. (Details: serial 8677 error_code 141 request_code 138 (RENDER) minor_code 7) (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 GDK_SYNCHRONIZE environment variable to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) xfwm4-Message: 01:43:48.454: Prefer XPresent with Mesa Intel(R) HD Graphics 5500 (BDW GT2)
Other things I've noticed/tried:
I have not encountered this issue at all when starting Xfce from runlevel 3 (console login)
When starting from xdm, it doesn't happen every time, as if there's some sort of race condition somehow, but I lose the race most of the time (>90%)
When I win the race, i.e. when the xfdesktop instance launched initially is working fine, I do not see the RenderBadPicture error in .xsession-errors
I've as yet not tested this on any other machines, so it's entirely possible that there's some obscure corner case involving the graphics hardware on this laptop and/or some other condition specific to this laptop. That testing is planned for the next few days after the holidays quiet down.