Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Oct 1998 01:53:49 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        eivind@yes.no (Eivind Eklund)
Cc:        alk@pobox.com, wollman@khavrinen.lcs.mit.edu, current@FreeBSD.ORG, dg@FreeBSD.ORG
Subject:   Re: inetd is ill? syslogd is anemic?
Message-ID:  <199810140153.SAA23147@usr08.primenet.com>
In-Reply-To: <19981010200607.56951@follo.net> from "Eivind Eklund" at Oct 10, 98 08:06:07 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > I don't believe it.  There is more than 100MB of swap free at this point,
> > and it is still happening.
> 
> This is a known, OLD bug.  It was one of the bugs introduced or
> exposed by John Dysons changes to the VM system.  He was working on
> this at the time he left, if I understood correctly.
> 
> In some cases, the VM system goes awry when you go out of memory.
> This seems especially common if it is netscape that eats the memory
> (don't ask me why; possibly it only seems that way because Netscape
> eating the memory iss the most common situation on my box).

The systems I run into this on are not even running X, let alone
Netscape.

They are also nowhere near exhausing memory.

I agree that the bug came in in John Dyson's VM patches to 2.2.6-stable
and -current (i.e., 2.2.7-release and -current are both affected).

Modifying the trap_pfault() code in /sys/i386/i386/trap.c to cause
a kernel panic, and then post-morteming the system dump image shows
that, in fact, the page being referenced is not there, even though
it's in the map.

I haven't gone after it hard yet, having little incentive, but it
seems to me that my page insertion DIAGNOSTIC patch would perhaps
be useful (no, I haven't run it on a machine with the problem, since
I don't have the problem on my machines at home, and I haven't run
with the diagnostics on the machines that show that particular problem
at work).


> In these cases, at least sendmail, inetd and syslog will have problems
> when forking - they'll get a sig11 right after the fork (I don't know
> how 'right after' translates, sorry - timewise, it is just about at
> once).

Yeah, this is a sperate problem, in that it goes over the top of
the list before it checks to see if it would be bad to go over
the top of the list.  This would take a bit of work to set right,
and if you just install enough swap, it's not a problem.  This is
basically an unrelated bug having to do with a page being reused
when there are zero pages available.  It's prretty easy to see
the bug just by looking at the code and "playing computer".


> I can try to reproduce it if somebody that know more about the VM
> system than me has some clues as to what I should do to track it down
> - in that case, I'd like to get the clues by tomorrow (so I can spend
> tomorrow attempt to find it; I most likely don't have time between
> then and the release).

Try the panic on SIGSEGV condition.  It's informative.  It would
problably be informative for the out of memory bug, as well, but
all you really have to do is look at the page table allocation
vs. the backing page fill in the case of the /sys/vm/swap_pager.c
code to see the memory exhaustion screwup bug.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810140153.SAA23147>