*BSD News Article 41582


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!yarrina.connect.com.au!warrane.connect.com.au!godzilla.zeta.org.au!not-for-mail
From: bde@zeta.org.au (Bruce Evans)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: [FreeBSD 2.0-950112-SNAP] - SIO bug, driver discards chars
Date: 26 Jan 1995 17:32:29 +1100
Organization: Kralizec Dialup Unix Sydney - +61-2-837-1183, v.32bis v.42bis
Lines: 30
Message-ID: <3g7flt$aaf@godzilla.zeta.org.au>
References: <D2s65p.AKt@lionheart.com>
NNTP-Posting-Host: localhost.zeta.org.au

In article <D2s65p.AKt@lionheart.com>,
Tim Iverson <iverson@lionheart.com> wrote:
>There is a bug in the SIO driver that causes it to discard characters if
>the tty is in raw mode and there is no space left in the clist - even when
>RTS/CTS is enabled.  The SIO man page calls this a bug in the application
>code; what idiocy.

What else could it do given continually arriving input and a buggy
application that never reads the input?  Swap the kernel and install
new swap disks as required? :-)

Applications must live with finite kernel buffers.  They must either be
guaranteed to run often enough to read the kernel buffers before the
buffers overflow (this requires a realtime kernel), or use a protocol
that limits the growth of the buffers, or recover from overflows (OK,
the latter isn't a bug in the application and the overflows shouldn't
be syslogged in this case).

The bugs are really elsewhere.  RTS input flow control is not supported
in FreeBSD-2.0x (except to stop lower level buffer overflows).  The
tty buffer sizes are too small.  2.0 has the worse bug that it was
possible for input on one tty to exhaust the clists for all ttys so
even output to /dev/console doesn't work.

>Has anyone fixed this already?  I'd hate to fix something and then find out
>there's already a working version out there.  Looks to be a fairly involved

It will be fixed in FreeBSD-1.x ;-(.
-- 
Bruce Evans  bde@zeta.org.au