*BSD News Article 32575


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!agate!ames!purdue!mozo.cc.purdue.edu!staff.cc.purdue.edu!bj
From: bj@staff.cc.purdue.edu (Ben Jackson)
Subject: vm_pageout bug in FreeBSD 1.1.5R?
Sender: news@mozo.cc.purdue.edu (USENET News)
Message-ID: <CsLyvD.3Eu@mozo.cc.purdue.edu>
Date: Fri, 8 Jul 1994 06:18:49 GMT
Organization: Purdue University
Lines: 39

I've tried several things in an attempt to isolate the kernel panic
(`page fault in supervisor mode') problem I'm having with FreeBSD
1.1.5R on my PCI 486/66 w/16M.  So far the most conclusive results are
that it only panics after it begins to use swap space.  I successfully
raytraced for 3+ hours one day, and then started X and intentionally
consumed enough memory to start swapping and got a panic almost
immediately.

I've configured in more swap partitions (on nonexistant IDE drives) to
see if there was an IDE dependancy.  No difference.  I disabled
swapping on my second drive.  No difference.  I (rather
pessimistically, I admit) built a kernel with `options NOBOUNCE'.  No
difference.  I've configured kernels without SYSV* options enabled.  No
difference!  Arrgh!

This happens with both the GENERICAH kernel (I have a 1542Cf) and my
normal configuration file (which I'm using with 1.1R with no
problems).  I built a version of my kernel today with DDB, since I
rarely get dumps from the crashes, and when I do savecore rarely saves
them (it usually complains about /dev/wd0a not being configured, which
is true, since I have no IDE drives, but non-sequiter).

After numerous reboots and only minimal effort to cause the problem,
I've been able to poke though the kernel after several of these
panics.  There seems to be a strange "speed" dependancy.  If I consume
memory using `while :; do emacs &; done', I get a panic in the trap
code as it tries to access the page in vm_page_lookup().  If I do it
more slowly, I get stopped in vm_pageout_scan(), called from
vm_pageout() called from main().  DDB and I aren't on the same
wavelengh, so I haven't been able to get any more detailed information
out of it, and unfortunately the 1.1R vm_pageout.c is radically
different, which makes it difficult to isolate the problem.

Does anyone have any suggestions on how I might narrow my search?  Have
there been any patches to the vm system since 1.1.5 came out?

Thanks!
--
Ben Jackson, bj@cc.purdue.edu