Bug 742290

Summary: gnome-terminal corruption after screen clear
Product: [Fedora] Fedora Reporter: John Sullivan <jsrhbz>
Component: vteAssignee: Matthias Clasen <mclasen>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: behdad, dkl, egmont, kevin
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: 2012-08-07 17:15:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Sullivan 2011-09-29 15:35:29 UTC
gnome-terminal-3.0.1-1.fc15.x86_64
vte-0.28.1-1.fc15.x86_64
vte3-0.28.1-1.fc15.x86_64

If just the right amount of output is produced in just the right size terminal window after just the right amount of time after a screen clear escape sequence, gnome-terminal fails to draw the window correctly. Blocks of text will be missing, and some text appears in the wrong place (sometimes the transitions are mid-character, for both.)

Refreshing/moving the window, or scrolling generally fixes the window, and drag-selecting bits of text cause those parts of the window to be redrawn correctly.

Seen after "reset ; GET -Sse http://..." in an ssh session which returned a page and a half of output, but here is a more distilled version:

1) open a new gnome-terminal window
2) resize to 179x54 characters
3) run echo -ne '\Ec' ; usleep 100000 ; for i in `seq 1 66` ; do echo -n $i- ; seq -s" " 0 40 ; done

This may need to be done repeatedly. Varying the terminal size (bigger seems worse), and the delays and the output of output can affect reproducibility. It can take tens of attempt to hit sometimes. If the same output is produces in isolation, without the clear, the problem doesn't seem to happen. (Perhaps something about the first time the terminal buffer exceeds one screenfull?)

Interestingly, if the sleep is omitted, the problem seems to go away entirely. (At least for a local terminal session. Still happens if the terminal is an ssh session, presumably due to the slight delay introduced by the link. Something about that exact configuration made it 98% reproducible but I can't figure out the critical factor.)

Comment 1 John Sullivan 2011-09-29 16:11:44 UTC
Workaround: following the output with something that forces a redraw fixes the display. The only thing I could find (from vte sources) that redraws the entire window was setting and clearing inverse video:

alias redraw='echo -ne \\E[?5h\\E[?5l'

Comment 2 Fedora Admin XMLRPC Client 2012-01-10 15:45:09 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Fedora Admin XMLRPC Client 2012-01-10 15:47:48 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Fedora End Of Life 2012-08-07 17:15:12 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

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

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached 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 to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

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.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Egmont Koblinger 2014-08-16 00:22:13 UTC
Sounds like probably one of
https://bugzilla.gnome.org/show_bug.cgi?id=730599
https://bugzilla.gnome.org/show_bug.cgi?id=730760

If it's indeed one of these two bugs then it's already fixed in Rawhide (to become Fedora 21).

Comment 6 John Sullivan 2014-09-16 23:09:34 UTC
Just tested both of those patches under mate-terminal-1.8.0-3.fc20, which uses the regular vte library.

Problem still repros under unpatched vte-0.28.2-13.fc20.

With just the patch from 730599, I can't repro.

With just the patch from 730760, I still can.

So, looks like 730599 it is.

Comment 7 Egmont Koblinger 2014-09-17 07:50:03 UTC
> mate-terminal-1.8.0-3.fc20, which uses the regular vte library

An ancient, unmaintained version thereof :(