Description of problem:
We have here a custom X client that is used to monitor the status of our telescope. This application has been around for more than 15 years. It has worked on CentOS 7, 6, 5, Fedora 4, RedHat 9 and so on.
Recently with the last xorg-x11-server update on CentOS 7.5 and in CentOS 7.6 when we start our X client the X server crashes. The log contains the following error message
[ 57.084] (EE) Backtrace:
[ 57.084] (EE) 0: /usr/bin/X (xorg_backtrace+0x55) [0x557e4dd73185]
[ 57.084] (EE) 1: /usr/bin/X (0x557e4dbc2000+0x1b4e09) [0x557e4dd76e09]
[ 57.084] (EE) 2: /lib64/libpthread.so.0 (0x7fd71340e000+0xf5d0) [0x7fd71341d5d0]
[ 57.084] (EE) 3: /usr/bin/X (miHandleValidateExposures+0x29) [0x557e4dd6b9a9]
[ 57.084] (EE) 4: /usr/bin/X (0x557e4dbc2000+0x8652f) [0x557e4dc4852f]
[ 57.084] (EE) 5: /usr/bin/X (ConfigureWindow+0xa94) [0x557e4dc49684]
[ 57.084] (EE) 6: /usr/bin/X (0x557e4dbc2000+0x569b8) [0x557e4dc189b8]
[ 57.084] (EE) 7: /usr/bin/X (0x557e4dbc2000+0x5c35b) [0x557e4dc1e35b]
[ 57.084] (EE) 8: /usr/bin/X (0x557e4dbc2000+0x603aa) [0x557e4dc223aa]
[ 57.084] (EE) 9: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7fd7130633d5]
[ 57.084] (EE) 10: /usr/bin/X (0x557e4dbc2000+0x4a4ce) [0x557e4dc0c4ce]
[ 57.084] (EE)
[ 57.084] (EE) Segmentation fault at address 0x30000000c
[ 57.084] (EE)
Fatal server error:
[ 57.084] (EE) Caught signal 11 (Segmentation fault). Server aborting
The problem has been introduced in the X server with the patch:
# Bug 1599885 - RFE: enable backing store's Always mode
Removing such patch and recompiling the X server makes the crash go away.
More information about the crash:
If I start the client without a window manager (startx /usr/bin/myclient) , the X server does not crash.
If I have a desktop with two monitor and I start the client on a non primary output monitor, then the X server does not crash.
If, on a two monitor desktop I start the client on the primary output monitor, or if I have only a single monitor connected (which is, of course, a primary output monitor), then the X server crashes.
The patch has a RFE attached, so I'm letting you know that such patch creates trouble.
Thank you for the report. Can you test the following build? The patch contents in this build are
targeted for 7.7, but the build is against a 7.6 buildroot and should be binary-compatible.
If you would prefer to test just this change in isolation, extract the patch named
0001-composite-Fix-some-backing-store-bugs-1677719.patch from the SRPM and apply it to your own build.
I have tested the patch 0001-composite-Fix-some-backing-store-bugs-1677719.patch
and it does not fix the crash problem I have.
Moreover, I have found that the first patch (0001-composite-Implement-backing-store-Always.patch)
can cause a X crash also in particular setup involving IDL and Xvnc.
I'm seeing the same issue xfreerdp when run on top of fvwm. The same backtrace with miHandleValidateExposures Segmentation fault.
Sometimes xfreerdp crashes X on startup post authentication or when xfreerdp is minimized.
Rebuilding xorg-x11-server-Xorg without the Patch9750: 0001-composite-Implement-backing-store-Always.patch patch doesn't cause any issue.
This is on a fully update RHEL 7.7 system. Did the patch from Comment 2 not make it in 7.7's Xorg or is it there under a different name/package/location?