Bug 1255750

Summary: Since upgrade to 6.7, xfreerdp has trouble keeping window refreshed
Product: Red Hat Enterprise Linux 6 Reporter: Ben <ben.argyle>
Component: freerdpAssignee: Ondrej Holy <oholy>
Status: CLOSED DUPLICATE QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.7CC: ben.argyle
Target Milestone: rc   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-25 14:01:42 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
Xorg.0.log for graphics hardware/driver identification
none
xwininfo log file for the xfreerdp window
none
xev log, logged as requested none

Description Ben 2015-08-21 12:55:22 UTC
Created attachment 1065592 [details]
Xorg.0.log for graphics hardware/driver identification

Description of problem:

Ever since upgrading to RHEL6.7, the xfreerdp session I have open to a Windows Server 2008 R2 terminal server does not always redraw the screen when transitioning back to it from another virtual desktop.  Windows from the virtual desktop I was on previously will remain drawn over the top of the xfreerdp window.  Moving the xfreerdp window off screen and back, or minimising the applications _within_ the window and then maximising them again redraws things correctly (not the taskbar as that doesn't get redrawn in this instance), but this shouldn't be necessary.


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

Xorg.0.log attached.

kernel: 2.6.32-573.3.1.el6.i686

xorg-x11-fonts-misc-7.2-11.el6.noarch         
xorg-x11-drv-i740-1.3.4-11.el6.i686           
xorg-x11-drv-openchrome-0.3.3-6.el6.i686      
xorg-x11-drv-siliconmotion-1.7.7-9.el6.i686   
xorg-x11-drv-void-1.4.0-23.el6.i686           
xorg-x11-drv-evdev-2.8.2-4.el6.i686           
xorg-x11-drv-glint-1.2.8-10.el6.i686          
xorg-x11-fonts-cyrillic-7.2-11.el6.noarch     
xorg-x11-fonts-ISO8859-2-100dpi-7.2-11.el6.noarch
xorg-x11-drv-nouveau-1.0.10-1.el6.i686           
xorg-x11-server-Xvfb-1.15.0-36.el6.i686          
xorg-x11-drv-s3virge-1.10.6-10.el6.i686          
xorg-x11-drv-sis-0.10.7-10.el6.i686              
xorg-x11-fonts-Type1-7.2-11.el6.noarch           
xorg-x11-fonts-ISO8859-14-100dpi-7.2-11.el6.noarch
xorg-x11-drv-ati-7.5.99-3.el6.i686                
xorg-x11-xkb-utils-7.7-4.el6.i686                 
xorg-x11-drv-fbdev-0.4.3-16.el6.i686              
xorg-x11-drv-aiptek-1.4.1-5.el6.i686              
xorg-x11-fonts-ISO8859-14-75dpi-7.2-11.el6.noarch 
xorg-x11-fonts-ethiopic-7.2-11.el6.noarch         
xorg-x11-drv-mga-1.6.3-6.el6.i686                 
xorg-x11-drv-fpit-1.4.0-6.el6.i686                
xorg-x11-drv-sisusb-0.9.6-10.el6.i686             
xorg-x11-drv-hyperpen-1.4.1-5.el6.i686            
xorg-x11-drv-cirrus-1.5.2-2.el6.i686              
xorg-x11-utils-7.5-6.el6.i686                     
xorg-x11-fonts-ISO8859-2-75dpi-7.2-11.el6.noarch  
xorg-x11-server-Xorg-1.15.0-36.el6.i686           
xorg-x11-drivers-7.3-13.4.el6.i686                
xorg-x11-drv-qxl-0.1.1-17.el6.i686                
xorg-x11-font-utils-7.2-11.el6.i686               
xorg-x11-drv-wacom-0.23.0-4.el6.i686              
xorg-x11-drv-penmount-1.5.0-5.el6.i686            
xorg-x11-drv-apm-1.2.5-10.el6.i686                
xorg-x11-drv-savage-2.3.7-2.el6.i686              
xorg-x11-drv-dummy-0.3.6-15.el6.i686              
xorg-x11-drv-neomagic-1.2.7-7.el6.i686            
xorg-x11-fonts-100dpi-7.2-11.el6.noarch           
xorg-x11-drv-intel-2.99.911-8.el6.i686            
xorg-x11-drv-ati-firmware-7.5.99-3.el6.noarch     
xorg-x11-glamor-0.6.0-5.20140506gitf78901e.el6.i686
xorg-x11-drv-nv-2.1.20-5.el6.i686                  
xorg-x11-drv-geode-2.11.15-1.el6.i686              
xorg-x11-drv-ast-0.98.0-1.el6.i686                 
xorg-x11-drv-rendition-4.2.5-10.el6.i686           
xorg-x11-drv-voodoo-1.2.5-10.el6.i686              
xorg-x11-fonts-ISO8859-9-75dpi-7.2-11.el6.noarch   
xorg-x11-fonts-ISO8859-1-75dpi-7.2-11.el6.noarch   
xorg-x11-fonts-ISO8859-15-100dpi-7.2-11.el6.noarch 
xorg-x11-server-common-1.15.0-36.el6.i686          
xorg-x11-xdm-1.1.6-14.1.el6.i686                   
xorg-x11-drv-vesa-2.3.2-15.el6.i686                
xorg-x11-drv-keyboard-1.8.0-1.el6.i686
xorg-x11-drv-xgi-1.6.0-20.20121114git.el6.i686
xorg-x11-drv-tdfx-1.4.5-10.el6.i686
xorg-x11-drv-vmware-13.0.1-9.el6.i686
xorg-x11-drv-elographics-1.4.1-3.el6.i686
xorg-x11-apps-7.7-6.el6.i686
xorg-x11-fonts-75dpi-7.2-11.el6.noarch
xorg-x11-proto-devel-7.7-9.el6.noarch
xorg-x11-drv-trident-1.3.6-10.el6.i686
xorg-x11-drv-acecad-1.5.0-7.el6.i686
xorg-x11-drv-mutouch-1.3.0-5.el6.i686
xorg-x11-fonts-ISO8859-15-75dpi-7.2-11.el6.noarch
xorg-x11-drv-mach64-6.9.4-9.el6.i686
xorg-x11-drv-modesetting-0.8.0-14.el6.i686
xorg-x11-xauth-1.0.2-7.1.el6.i686
xorg-x11-fonts-ISO8859-1-100dpi-7.2-11.el6.noarch
xorg-x11-drv-i128-1.3.6-10.el6.i686
xorg-x11-xinit-1.0.9-14.el6.i686
xorg-x11-drv-vmmouse-13.0.0-2.el6.i686
xorg-x11-drv-r128-6.9.1-8.el6.i686
xorg-x11-server-utils-7.7-2.el6.i686
xorg-x11-fonts-ISO8859-9-100dpi-7.2-11.el6.noarch
xorg-x11-drv-synaptics-1.7.6-1.el6.i686
xorg-x11-drv-mouse-1.9.0-1.el6.i686
xorg-x11-drv-v4l-0.2.0-36.el6.i686


How reproducible:

Fairly often, but not always.  No current guaranteed method to produce results as yet.  Will update if something verifiable emerges.


Actual results:

Contents of windows from other virtual desktops visible instead of contents of xfreerdp window.


Expected results:

Contents of xfreerdp session window should be visible.


Additional info:

This is under KDE, haven't tried under GNOME as I don't use it.

kdebase-workspace-python-applet-4.3.4-30.el6_6.i686
kdeaccessibility-libs-4.3.4-5.el6.i686
kde-filesystem-4-30.1.el6.noarch
kdegraphics-libs-4.3.4-6.el6.i686
kdelibs-4.3.4-23.el6_6.i686
kdebase-workspace-wallpapers-4.3.4-30.el6_6.noarch
kde-l10n-4.3.4-5.el6.noarch
kdebase-runtime-4.3.4-9.el6.i686
kdeadmin-4.3.4-5.el6.i686
kdenetwork-libs-4.3.4-11.el6_0.1.i686
kdebase-4.3.4-6.el6.i686
kdeartwork-screensavers-4.3.4-7.el6.i686
kdepim-4.3.4-6.el6.i686
kdelibs-devel-4.3.4-23.el6_6.i686
lockdev-1.0.1-18.el6.i686
kdeutils-4.3.4-7.el6.i686
kdebase-workspace-4.3.4-30.el6_6.i686
kdeaccessibility-4.3.4-5.el6.i686
kdegames-libs-4.3.4-5.el6.i686
kdemultimedia-4.3.4-3.el6.i686
xsettings-kde-0.11-1.el6.i686
kde-l10n-British-4.3.4-5.el6.noarch
kdelibs3-3.5.10-25.el6.i686
kdebase-runtime-libs-4.3.4-9.el6.i686
kdeplasma-addons-libs-4.3.4-5.el6.i686
kdegraphics-4.3.4-6.el6.i686
kdepimlibs-akonadi-4.3.4-4.el6.i686
kdelibs-common-4.3.4-23.el6_6.i686
kdepimlibs-4.3.4-4.el6.i686
kde-settings-kdm-4.3.1-2.el6.noarch
kde-i18n-British-3.5.10-11.el6.noarch
kdemultimedia-libs-4.3.4-3.el6.i686
kde-settings-4.3.1-2.el6.noarch
kdenetwork-4.3.4-11.el6_0.1.i686
kdeutils-libs-4.3.4-7.el6.i686
kdebase-workspace-libs-4.3.4-30.el6_6.i686
kdelibs-experimental-4.3.4-3.el6.i686
kdegames-4.3.4-5.el6.i686
kde-settings-pulseaudio-4.3.1-2.el6.noarch
kdebase-workspace-devel-4.3.4-30.el6_6.i686
kdebase-libs-4.3.4-6.el6.i686
kdeplasma-addons-4.3.4-5.el6.i686
kdepim-libs-4.3.4-6.el6.i686

Comment 2 Ondrej Holy 2015-08-24 07:49:11 UTC
I've never seen this with GNOME. X server should maintain the window contents. Expose events should be generated if the window contents have been lost from some reason. Xfreerdp listen expose events and redraw the window contents if needed. Backing store for the xfreerdp window is set to always, which means that X server should maintain the window contents also when the window is unmapped. Apparently the window contents is lost from some reason and the window is not redrawn. Please follow the steps and provide logs to be sure that the expose events are generated properly:

1/ first connect to the server with xfreerdp as usual
2/ run following command and select xfreerdp window, xwininfo will generate info about the xfreerdp window
"xwininfo -all | tee xwininfo.log"
3/ then run following command and select xfreerdp window again, xev will be monitoring all the xevents
"xev -id $(xwininfo | grep id: | cut -d ' ' -f 4) | tee xev.log"
4/ reproduce the issue and then stop xev using ctrl+c 
5/ please attach xwininfo.log and xev.log

Comment 3 Ben 2015-08-25 09:27:29 UTC
OK, logs attached.

Please note that I had to flip between KDE virtual desktops a bunch of times before a Konsole was drawn over the top of my xfreerdp window when flipping back to the virtual desktop with it on.  As a result the xev.log has a lot of stuff you won't care about in it before the end.  Sorry about that.

Comment 4 Ben 2015-08-25 09:28:09 UTC
Created attachment 1066793 [details]
xwininfo log file for the xfreerdp window

Comment 5 Ben 2015-08-25 09:28:45 UTC
Created attachment 1066794 [details]
xev log, logged as requested

Comment 6 Ondrej Holy 2015-08-25 14:01:42 UTC
Thanks for the logs.

Backing-store is set to "Always" for xfreerdp window as per xwininfo.log. It means that X server should maintain the window content also when the window is unmapped. There isn't any expose event in the xev.log. So it seems the window content was corrupted in the backing store somehow and unfortunately no expose event was generated. This is probably bug in X server.

It seems to me to be duplicate of Bug 1250105. I wanted to ask you to test this with disabled backing store as suggested in the mentioned bug, but the system doesn't boot correctly with disabled backing store for me...

So marking as a duplicate, because freerdp was not updated in RHEL 6.7 and the symptoms seems to match the mentioned bug...

*** This bug has been marked as a duplicate of bug 1250105 ***