Bug 1036229

Summary: partially obscured xterm running under Xvnc display corruption: lines are sometimes omitted, repeated, or misplaced
Product: [Fedora] Fedora Reporter: Andrew J. Schorr <aschorr>
Component: tigervncAssignee: Tim Waugh <twaugh>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: aschorr, bphinz, mlichvar, pertusus, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-17 19:27:32 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:
Attachments:
Description Flags
snapshot of an xterm exhibiting corruption
none
tcpdump capture of hextile session exhibiting xterm corruption none

Description Andrew J. Schorr 2013-11-29 20:46:24 UTC
Description of problem: In Fedora 19, I am seeing corrupt output in xterm.  I run a command that produces certain output, and I notice that some lines are missing, repeated and/or misplaced.


Version-Release number of selected component (if applicable):
xterm-293-1.fc19.src.rpm

How reproducible:
I am not certain exactly how to reproduce this.  The problem is that you must
detect it visually.


Steps to Reproduce:
1.  Run a command many times that produces an expected set of output.
2.  Notice that some lines are sometimes missing or repeated.
3.

Actual results:
Display corruption.

Expected results:
It should show the text that was produced by the program.

Additional info:

Comment 1 Miroslav Lichvar 2013-12-02 09:54:55 UTC
Can you please attach a screenshot? What Xorg graphics driver do you use? Problem with corrupted display is usually a bug in the driver.

Comment 2 Andrew J. Schorr 2013-12-02 13:15:19 UTC
I am using Xvnc.  I will attach a screenshot the next time I notice it.

Comment 3 Andrew J. Schorr 2013-12-02 19:04:48 UTC
Created attachment 831726 [details]
snapshot of an xterm exhibiting corruption

Note the repetition of "retrieving revision 1.34" at the bottom
and the corruption of the "=" separator bars on the right side.

I tried using "xwd" to capture this, but the problems never appear
in the xwd file.  They remain visible on the screen, but the contents
of the xwd image are correct.

Do you know if this is an Xvnc problem or an xterm problem?

Comment 4 Andrew J. Schorr 2013-12-02 19:08:29 UTC
Also, I'm not certain of this, but I think the problem may occur only when part of the xterm window is obscured.

Comment 5 Miroslav Lichvar 2013-12-03 14:47:42 UTC
I'm not really familiar in how Xvnc works, but I think the fact that it's not visible in the xwd capture indicates a problem outside of xterm.

Reassigning to tigervnc, perhaps its maintainers will know better what's happening.

Comment 6 Andrew J. Schorr 2013-12-03 15:02:16 UTC
FYI, I tried to duplicate the problem in gnome-terminal and xfce4-terminal, and I don't see the corruption when I use those.  So it seems to me that it's either due to a bad interaction between xterm and Xvnc or it's truly an xterm problem.  I agree that the xwd behavior seems to suggest a server problem...

Comment 7 Miroslav Lichvar 2013-12-03 15:11:15 UTC
You could try different versions of xterm and see if some doesn't have this problem. Fedora builds can be found here:

http://koji.fedoraproject.org/koji/packageinfo?packageID=354

However, if it was a real bug in xterm, I'd expect to see more reports about it.

Comment 8 Tim Waugh 2013-12-03 15:22:53 UTC
Another thing that will narrow down where the problem is: when you see this problem next, try getting the VNC viewer to 'refresh' (i.e. pull the entire screen from the server). With the native vncviewer client, F8 displays a menu for this.

Comment 9 Andrew J. Schorr 2013-12-03 15:34:05 UTC
I just grabbed the xterm-299 tarball from http://invisible-island.net/xterm and built that.  I see the same display corruption when part of the window is covered.  The xwd dumps contine to look good.  Moving the corrupted window seems to cause further corruption.

I don't know how many people are using xterm inside Xvnc.  I suspect it could be caused by a bad interaction between them.  Does anybody have any ideas on how to debug this?

I'd switch to rxvt, but we use xterm's ability to log to a file.  I don't think rxvt supports that.  But rxvt does not show the same corruption.  It is pretty easily repeatable with xterm under Xvnc.

One other thought: this seems to occur only when part of the xterm window is obscured.  For the vast majority of people who use click to focus, that is an unlikely scenario, since the act of selecting the xterm for focus by clicking on it will bring it to the front.  I am using fvwm2 with the focus following the mouse, so I can easily type into an xterm that is not in front.  Perhaps that explains why nobody else is noticing this.

Thanks,
Andy

Comment 10 Andrew J. Schorr 2013-12-03 15:35:56 UTC
(In reply to Tim Waugh from comment #8)
> Another thing that will narrow down where the problem is: when you see this
> problem next, try getting the VNC viewer to 'refresh' (i.e. pull the entire
> screen from the server). With the native vncviewer client, F8 displays a
> menu for this.

When I use the VNC menu "Refresh Screen" selection, the corruption disappears.  So I guess this is an Xvnc bug.  I don't know why other terminal programs don't have this problem...

Thanks,
Andy

Comment 11 Tim Waugh 2013-12-03 15:42:10 UTC
Please post the output of vncviewer, both the starting lines when the connection is initiated, and any lines that occur at the same time as the display corruption.

Comment 12 Andrew J. Schorr 2013-12-03 15:49:50 UTC
Here is the entire output of vncviewer during a very brief session where I connect, do something that causes corruption, and then exit the session:

TigerVNC Viewer 64-bit v1.3.0 (20130924)
Built on Sep 24 2013 at 16:32:56
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.

Tue Dec  3 10:46:03 2013
 CConn:       connected to host localhost port 5913
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8

Tue Dec  3 10:46:09 2013
 PlatformPixelBuffer: Using default colormap and visual, TrueColor, depth 24.

Tue Dec  3 10:46:10 2013
 DesktopWindow: Adjusting window size to avoid accidental full screen request
 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888
 CConn:       Using Tight encoding
 Viewport:    Unexpected release of FLTK key code 65293 (0xff0d)
 CConn:       Enabling continuous updates


Note: I then connected briefly without doing anything to cause xterm corruption and exited.  The logs are essentially identical.  So I don't think any of the log messages are related to the corruption issue.

Thanks,
Andy

Comment 13 Tim Waugh 2013-12-03 16:42:41 UTC
Now run "vncviewer -PreferredEncoding ZRLE ..." and see if you can get the corruption to happen.

Comment 14 Andrew J. Schorr 2013-12-03 16:51:51 UTC
I tried that.  It did not make any difference -- the corruption still occurs.  Here is the command output:

TigerVNC Viewer 64-bit v1.3.0 (20130924)
Built on Sep 24 2013 at 16:32:56
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.

Tue Dec  3 11:49:36 2013
 CConn:       connected to host localhost port 5913
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8

Tue Dec  3 11:49:40 2013
 PlatformPixelBuffer: Using default colormap and visual, TrueColor, depth 24.
 DesktopWindow: Adjusting window size to avoid accidental full screen request
 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888
 CConn:       Using ZRLE encoding
 Viewport:    Unexpected release of FLTK key code 65293 (0xff0d)
 CConn:       Enabling continuous updates

Thanks,
Andy

Comment 15 Andrew J. Schorr 2013-12-03 16:58:54 UTC
The corruption is also there with hextile.  I think with raw encoding, it may be OK.  Is there any shared code between Tight, ZRLE and hextile?

Comment 16 Tim Waugh 2013-12-03 17:05:24 UTC
So raw encoding is definitely not showing the corruption?

Would be useful to see the network traffic from a short hextile session showing the corruption. Could you please try capturing it using e.g. tcpdump?:

tcpdump -s0 -U -w rfb.pcap port 5913

and then attach rfb.pcap to this report?

(Hmm, maybe it would be a good idea for me to teach rfbproxy how to read pcap files...)

Comment 17 Andrew J. Schorr 2013-12-03 17:20:35 UTC
Hi Tim,

The raw session looks OK to me.  I will attach the requested pcap file.

Thanks,
Andy

Comment 18 Andrew J. Schorr 2013-12-03 17:21:26 UTC
Created attachment 832216 [details]
tcpdump capture of hextile session exhibiting xterm corruption

Comment 19 Fedora End Of Life 2015-01-09 20:44:04 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 20 Fedora End Of Life 2015-02-17 19:27:32 UTC
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.