Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Aug 1998 02:37:06 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        archie@whistle.com (Archie Cobbs)
Cc:        archer@lucky.net, wollman@khavrinen.lcs.mit.edu, current@FreeBSD.ORG
Subject:   Re: encountered possible VM bug ?
Message-ID:  <199808290237.TAA02872@usr01.primenet.com>
In-Reply-To: <199808272051.NAA27400@bubba.whistle.com> from "Archie Cobbs" at Aug 27, 98 01:51:40 pm

next in thread | previous in thread | raw e-mail | index | archive | help
[ ... corruption after unning out of swap ... ]

> At Whistle, we've seen this bug every so often for a long time.
> The common elements seem to be:
> 
>  1. memory mapping is in use
>  2. a fork() is happening or just happened
> 
> But #1 and #2 are not necessarily both related to the same process.
> This bug has been around for a *long* time, in both 2.x and 3.x.
> 
> Running out of swap may or may not be related, not sure... I think
> we've seen this when swap was not an issue. Perhaps running out of
> swap amplifies the problem.

There are actually two seperate problems.

In one, mmap'ed pages end up in other files.

In the other, other files pages (perhaps other mmap'ed files pages
only?) end up in mmap'ed pages.

The first case is a general problem with FreeBSD, and is not
limited to resource limitations.  I've fixed part of this with
the "valid" and "mmap file size" patches.

The second is a result of running out of swap, and I haven't identified
it (though it bit me the other day, I was in X, and since the CPU
was pegged, I couldn't switch out of X to go to the kernel debugger,
and FreeBSD can't go into the kernel directly from X because it's broken.


> It's really hard to pin down, because the panic seems to come a
> while after the initial damage is done. We've seen random processes
> crashing every time they try to fork(), kernel panic's because of
> some process being on two different queues at the same time (eg,
> sleep and runnable), and other manifestations.

The fork() problem is related to the first case, and not the second.
It may very well be fixed by the "valid" patches; I haven't had a
chance to build a kernel for Doug Ambrisko to run in his test
environment.


					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?199808290237.TAA02872>