Re: VERY STRANGE bug in 2.0.35 console display code

Martin Mares (mj@ucw.cz)
Thu, 10 Sep 1998 21:41:18 +0200


Hello,

> I just had the strangest thing occur, and I think it might be
> related to the Xwindows screen garble problem that people have
> been having with 2.0.x.
>
> I'm assuming you know what I mean when I say "X windows screen
> garble problem".
>
> Here is what just happened to me:
>
> I have 2 machines connected via PLIP. When doing any sort of
> traffic on the PLIP cable, I get a fair amount of plip timeout
> messages on my console. This annoys me to no end, but that is
> easily fixed by commenting the line out in plip.c.
>
> I just telnetted to the machine on the other end of the PLIP, and
> ran mke2fs to format a partition. The badblocks command was
> displaying an update of what sector was being tested, and this
> caused an endless stream of annoying PLIP timeout messages on all
> my console screens.
>
> At the time, I was on another console editing the main kernel
> makefile, and was pressing CTRL-R (in joe) to refresh the screen
> and get rid of the kernel messages. I was also scrolling in the
> file at the same time.
>
> My screen was abducted! In the makefile, I was looking at the
> "make modules" part. The line starts with "modules:".
>
> This is difficult to describe so I'll try as best I can. While
> the display was scrolling (from me hitting down-arrow), I was
> pressing CTRL-R to keep the screen refreshed, then I let go
> of CTRL-R, and scrolled down some more. This time however, the
> line that started out "modules:" didn't scroll properly. The
> "modules:" part stayed put on the screen, however the rest of the
> line, and all lines above and below that scrolled no problem.
> The word modules: disappeared from the file where it normally
> was.
>
> As soon as the plip messages stopped coming on the screen, this
> behaviour stopped immediately.
>
> Any ideas as to what could cause this, and what a possible
> solution might be?

This is a typical example of race conditions in the console code and there
unfortunately seems to be no simple cure for this problem. I've tried hard to
eliminate them in the 2.1 console driver, but printk() calls from interrupts
are still problematic :-((

Have a nice fortnight

-- 
Martin `MJ' Mares   <mj@ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"In accord to UNIX philosophy, PERL gives you enough rope to hang yourself." -- Larry Wall

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