Re: 2.6.26-rcX VC console scrolling regression

From: Andrew Morton
Date: Thu May 08 2008 - 02:03:39 EST


On Wed, 07 May 2008 21:46:37 -0700 (PDT) David Miller <davem@xxxxxxxxxxxxx> wrote:

>
> This change:
>
> commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b
> Author: Jan Engelhardt <jengelh@xxxxxxxxxxxxxxx>
> Date: Tue Apr 29 00:59:46 2008 -0700
>
> vt: fix background color on line feed
>
> A command that causes a line feed while a background color is active,
> such as
>
> perl -e 'print "x" x 60, "\e[44m", "x" x 40, "\e[0m\n"'
> and
> perl -e 'print "x" x 40, "\e[44m\n", "x" x 40, "\e[0m\n"'
>
> causes the line that was started as a result of the line feed to be completely
> filled with the currently active background color instead of the default
> color.
>
> When scrolling, part of the current screen is memcpy'd/memmove'd to the new
> region, and the new line(s) that will appear as a result are cleared using
> memset. However, the lines are cleared with vc->vc_video_erase_char, causing
> them to be colored with the currently active background color. This is
> different from X11 terminal emulators which always paint the new lines with
> the default background color (e.g. `xterm -bg black`).
>
> The clear operation (\e[1J and \e[2J) also use vc_video_erase_char, so a new
> vc->vc_scrl_erase_char is introduced with contains the erase character used
> for scrolling, which is built from vc->vc_def_color instead of vc->vc_color.
>
> Signed-off-by: Jan Engelhardt <jengelh@xxxxxxxxxxxxxxx>
> Cc: "Antonino A. Daplas" <adaplas@xxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>
> Causes garbage characters to appear at the end of lines on my VCs when
> scrolling.
>
> They look like lowercase 'c' characters with a '.' above them, and they
> are colored light blue. The rest of the console text is fine.
>
> I think it might be because my VC gets put into a UTF8 mode or something
> like that via the init scripts? It seems to start happening right when
> the init scripts print "Setting up console font and keymap", which seems
> to come from /etc/init.d/console-setup which runs /bin/setupcon
>
> This is with a stock Ubuntu 7.10 installation.

Thanks, Dave. I queued the revert but I'll hold off for 48-odd hours if
that's OK - it might just be something silly.


If we continue in this way, patch-2.6.26 will consist solely of:

--- a/Makefile
+++ a/Makefile
@@ -1,6 +1,6 @@
VERSION = 2
PATCHLEVEL = 6
-SUBLEVEL = 25
+SUBLEVEL = 26
EXTRAVERSION =
NAME = Funky Weasel is Jiggy wit it

:(
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/