Subject: Page Fault in comstart()
To: None <current-users@NetBSD.ORG>
From: Robert Dobbs <banshee@gabriella.resort.com>
List: current-users
Date: 01/22/1995 23:58:21
On i386/DX20, Hayes ESP board in 16550 mode.

Page Fault Trap in _bcopy in _comstart in _slstart in _comintr

_bcopy(f867b240, f7bffc0c, 10, f866af02, f867b240)

_comstart(f867b200)

_slstart(f867b200)

So far as I can tell, this is happening inside q_to_b(), where for some
reason, too much is being copied or to a nasty address in bcopy().
On inspection, neither makes much sense: we're copying into a fixed 16
character array and it seems bounded such that we'll only copy 16 chars
even though the clist is 1024 (tty.c in ttymalloc()).

What I don't understand is why q_to_b has a while loop.  It appears that
one of the two while conditions will be met after the first pass in every 
case.

count	cc
16	4	everything copied, cc = 0; exit
16	32	buffer filled, count = 0; exit
16	16	everything copied AND buffer filled; exit

What am I missing here?  Is there actually a reason this is a while loop?

I've seen other mail about a problem near here, that person too had a 
hayes esp board.  I'm willing to put in some diagnostic code, but I 
need some examples of what I can do other than a panic(); can I call
log()?

-john