Possible bug in YOUR version of Sys V, Rel. 3 For ATT 3B2's

John Buck john at polyof.UUCP
Wed May 25 00:24:47 AEST 1988


A problem I found with our (source) version of AT&T System 5, Rel. 3 is
that the sptmap (system page table map) has the incorrect number of pages
mfree()'d at system startup.  The problem could be one of two things:
	a) vuifile is screwed up (the MMU map for sptmap is too small, and
	   overflows into win_ublk)
	b) SYSSEGSZ is too big. (1024 pages instead of 960 pages).  Seems
	   that KV_sysseg starts at 0x401e0000, and KV_windows (win_ublk)
	   starts at 0x403c0000.  According to vuifile, length of KV_sysseg
	   is 0x1e0000 (which is correct).  In param.h it is 1024 pages
	   (1024 pages x 2048 bytes/page = 0x200000, NOT 0x1e0000).

I fixed this by changing  SYSSEGSZ in param.h, and recompiling the whole system.
Binary only sites could probably fix it by carefully patching /unix using
sdb (or some derivative), if they know where to look for the several
occurances of SYSSEGSZ.

(PS I noticed this while adding some networking code that makes calls to kseg()..
seems I got in a loop, and called kseg too many times, and I got an MMU fault
instead of an OUT OF MEMORY!).  /etc/crash said the address in question was
0x403c0004 (first word past end of REAL KV_sysseg.) Further examination of
sptmap indicated that there were, in fact, addresses in sptmap that were beyond
0x403c0000.

If you want more detailed info, send me mail.

John Buck
john at polygraf.bitnet
john at polyof.poly.edu [128.238.10.100]
john at graf.poly.edu
gould!trixie!polyof!john
rti!polyof!john
Polytechnic University
Route 110
Farmingdale, NY 11735
516-744-4206 [Live, and direct]



More information about the Comp.bugs.sys5 mailing list