bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gnome Terminal screen corruption


From: Thomas Dickey
Subject: Re: Gnome Terminal screen corruption
Date: Thu, 30 Dec 2010 13:48:11 -0500 (EST)

On Thu, 30 Dec 2010, Andy Key wrote:

Apologies but I'm not entirely sure how to check what ncurses patches have made
it into a given Fedora RPM.

Fedora 14
Gnome Terminal 2.32.0
ncurses-5.7-9.20100703.fc14.x86_64
                ^^^^^^^^ (that's generally ncurses' patchdate)

I haven't looked closely at the rpm's for a while, but Fedora seems to be
not making many changes.

TERM=gnome or TERM=xterm (problem happens in both cases)

GNOME-Terminal does have its own set of bugs. If you can reproduce the problem in xterm, then that would help eliminate GNOME-Terminal from consideration.

My program is a newly compiled text editor, and I find that if I scroll the text on the screen up and down, line by line, I can get screen corruption of some lines. The editor will have done insertln() and deleteln() calls to get the ncurses screen buffer in memory scrolled, and then upon refresh(), ncurses will probably have noticed that the terminal has escape sequences for this kind of thing.

The corruption seen is that some lines don't seem to be written, leaving the previous text in that position. So this is clearly visible, as the scrolled line appears twice (once where it should be, and once where it was, but something else should now be).

Before
a
b
c

Should become
b
c
d

But sometimes I get
b
b        <- wrong
d

The editor has a redraw keystroke, which causes refresh() to be called again.
When the corruption is visible, and this is pressed, the screen is repaired.

Its almost as if the problem is timing related.

It depends on how repeatable it is (the refresh uses different logic).

You can probably capture the output with 'script'. I do that, and (for instance) reduce the "typescript" data so it prints just to the point
where the problem appears.  It would either be correct (and showing some
bug in the terminal), or incorrect (and needing some analysis to see how
ncurses did that).  In the latter case, I generally build ncurses with
tracing compiled-in, to see what the calls look like.

I have not seen this problem on other UNIXes, earlier Linuxes or using PuTTY.
I have a copy of the program compiled (same source exactly) on Fedora Core 6
x86_64, and even running this in the same Gnome Terminal, I've been unable to
reproduce the same problem as yet.
Although I note that Fedora Core 6 will have had a much older ncurses.

I'm assuming that the editor is moderately complicated (or that the problem isn't easily reproduced). If it's easily reproduced, then
capturing the output and seeing if it's correct is the first step.

fwiw, the slowcat.zip file in ftp://invisible-island.net/ncurses has
some utilities that I use for working with the typescript files...

I don't yet know which component (Gnome Terminal, gnome and/or xterm terminfo
entries, ncurses, my editor) is the problem.

Any advice to track this down?

{{{ Andy



_______________________________________________
Bug-ncurses mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-ncurses


--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]