Bug 1250105

Summary: Older backingstore fine on el6.0 to el6.6 but broken by el6.7 update.
Product: Red Hat Enterprise Linux 6 Reporter: Vincent S. Cojot <vincent>
Component: xorg-x11-serverAssignee: Adam Jackson <ajax>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.7CC: ben.argyle, david.knapik, jkoten, mark, olchansk, tpelka, vcojot, vincent
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: xorg-x11-server-1.17.4-8.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-10 19:54:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Screenshot showing normal behaviour (6.0 to 6.6 and 6.6 without bs)
none
Screenshot showing backingstore enabled icons with wrong content. none

Description Vincent S. Cojot 2015-08-04 14:11:49 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Vincent S. Cojot 2015-08-04 16:54:22 UTC
Description of problem:
on el6.7, some older X11 apps which have happened to work just fine on el6.0, el6.1, el6.2, etc.. up to and including el6.6 (with the latest el6.7 updates) display garbage in the X11 icons where backingstore was requested.

Relevant client-side code is related to this:
     XGetWindowAttributes(xv_display(info), xv_xid(info), &wattrs);
  127     switch (wattrs.backing_store) {
  128       case Always:
  129       case WhenMapped:
  130     return wattrs.backing_store;
  131 
  132       default:
  133     return FALSE;
  134     }

Notice the wattrs.backing_store.

Version-Release number of selected component (if applicable):

I have verified this on el6.7 using the NVidia, vmware and ast drivers so it seems it's in the core Xorg components.
The 'garbage' actualls looks like some other parts of the X11 root window in some cases.. Perhaps that's just a wrong pointer somewhere. I'll send screenshots later.

How reproducible:

100%

Steps to Reproduce:
1. update to el6.7
2. fire up an apps that makes use of the wattrs.backing_store attributes (XGetWindowAttributes).
3. observe garbage in place of the above X11 icons.

Actual results:


Expected results:
The icons/windows should come up fine.

Additional info:

Comment 3 Vincent S. Cojot 2015-08-04 16:59:13 UTC
Please note that it still does work fine when the apps are run against an Xvnc server.. most likely because Xvnc doesn't support backingstore at all.

Comment 4 Vincent S. Cojot 2015-08-05 18:19:14 UTC
Additional info:

Where are you experiencing the behavior?  What environment?

Issue happens on any el6.7 x86_64 machine with an xorg Xserver with backingstore enabled.
Issue does -NOT- happen on any el6.0 to el6.6 system.

When does the behavior occur? Frequently?  Repeatedly?   At certain times?

This behaviour is consistent across most X servers on el6.7. Xvnc doesn't seem to be affected but I suspect this is because Xvnc (the X server) may not have an implementation of 'BackingStore/SaveUnders'.

What information can you provide around timeframes and urgency?

This is not an urgent issue. It's just a regression that I noticed and wanted to report.

Comment 5 Vincent S. Cojot 2015-08-13 01:36:23 UTC
Hello,
On a side note, when starting the X server with '-bs', the problem doesn't show up so it seems directly related to BackingStore.
I wonder what broke between el6.6 and el6.7.
Vincent

Comment 6 Ondrej Holy 2015-08-25 14:01:42 UTC
*** Bug 1255750 has been marked as a duplicate of this bug. ***

Comment 7 Vincent S. Cojot 2015-08-25 16:58:06 UTC
Created attachment 1066947 [details]
Screenshot showing normal behaviour (6.0 to 6.6 and 6.6 without bs)

Comment 8 Vincent S. Cojot 2015-08-25 16:59:51 UTC
Created attachment 1066948 [details]
Screenshot showing backingstore enabled icons with wrong content.

Notice how some of the graphics garbage looks like other parts of the root window.

Comment 9 Konstantin Olchanski 2015-09-03 23:43:43 UTC
Maybe same problem. We have an old X11 application that broke with similar symptoms. The main cause is the el6.7 xorg server is not sending "expose" events. MacOS (and el6.6 servers) do send the "expose" events.

I see a comment about "Fix backing store's Always mode" in "Wed Feb 25 2015 Adam Jackson <ajax> 1.15.0-32", maybe it is related? Is there more information about this change? a bug report? a bugzilla reference?
K.O.

Comment 10 Vincent S. Cojot 2015-09-03 23:47:47 UTC
Konstantin,
Hmmm, this could be related. Trying disabling 'Backing Store' by adding '-bs' to the X server command line..
Mine now looks like this:
/usr/bin/X -bs -auth /var/run/slim/slim.auth

(Note that I am running SLiM, not GDM).
Vincent

Comment 11 Konstantin Olchanski 2015-09-03 23:58:25 UTC
The el7.1 xorg server is generating the "expose" events as expected. version is xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64. So we have a mismatch between 6.6, 7.1 (expose ok) and 6.7 (expose missing). K.O.

Comment 12 Konstantin Olchanski 2015-09-04 00:01:32 UTC
(In reply to Vincent S. Cojot from comment #10)
> Hmmm, this could be related. Trying disabling 'Backing Store' by adding
> '-bs' to the X server command line..

In our case, the application itself requests "backing store". It does not work without backing store (either self requested or via global "-bs").

The present problem was resolved by making it process "visibility notify" events instead of "expose" events.

K.O.

Comment 14 Tomas Pelka 2016-03-09 11:35:10 UTC
Dear Vincent,

do you have 6.8 Alpha with newest packages available? If so it is working for you?

Thanks
-Tom

Comment 15 Vincent S. Cojot 2016-03-09 12:38:46 UTC
Dear Tomas,
Thanks for working on this.

Isn't there a way to get the updated packages on 6.7? I don't have any box running the el6.8 ALPHA at this time but I will try to test it soon.

IMHO, since this was broken on 6.7 it should make its way into the 6.7.z erratas.

For my own curiosity, what was the fix and what component did it make it into?

Thanks,

Vincent

Comment 16 Tomas Pelka 2016-03-11 07:22:21 UTC
(In reply to Vincent S. Cojot from comment #15)
> Dear Tomas,
> Thanks for working on this.
> 
> Isn't there a way to get the updated packages on 6.7? I don't have any box
> running the el6.8 ALPHA at this time but I will try to test it soon.
> 
> IMHO, since this was broken on 6.7 it should make its way into the 6.7.z
> erratas.
> 
> For my own curiosity, what was the fix and what component did it make it
> into?
> 
> Thanks,
> 
> Vincent

The problem is that we rebased Xorg + whole graphics stack in rhel6.8 so it is not only about one rpm that could be delivered to you, in this case it is about ~200 pkgs. And this is also partially a reason why this can't be fixed in z-stream, the other reason is that rebases are prohibited in z-stream too.

The fix is in xorg-x11-server and in short the patch is about always implementing the backing store.

Anyway if you won't be able to test on 6.8 alpha/beta/whatever we are going to verify as sanity only, in case the issue is not fixed we will reopen or clone the bug for other release rather.

Does it make sense to you, would you agree?

Thanks and sorry for incovinience.
-Tom

Comment 23 errata-xmlrpc 2016-05-10 19:54:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0761.html