Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Nov 1998 16:50:23 +0100
From:      Eivind Eklund <eivind@yes.no>
To:        dg@root.com
Cc:        John Fieber <jfieber@indiana.edu>, current@FreeBSD.ORG
Subject:   Re: The infamous dying daemons bug
Message-ID:  <19981108165023.60036@follo.net>
In-Reply-To: <199811081517.HAA03267@root.com>; from David Greenman on Sun, Nov 08, 1998 at 07:17:11AM -0800
References:  <19981108160934.30826@follo.net> <199811081517.HAA03267@root.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 08, 1998 at 07:17:11AM -0800, David Greenman wrote:
> >On Sun, Nov 08, 1998 at 09:22:50AM -0500, John Fieber wrote:
> >> One question: Is the problem "sticky"?  By that I mean, if it is
> >> triggered by a memomry shortage, is something in the kernel
> >> corrupted that tends to kill/corrupt daemons from that point in
> >> time on, or is it just something that affects isolated processes.
> >
> >All daemons running at that point seems to get something corrupted.
> >If you restart the daemon, it won't happen again until you again run
> >out of memory (or whatever it is that trigger the corruption).
> 
>    brk(2) will fail and return ENOMEM if the system is low on swap space.

phkmalloc() checks for this.

Anyway; why does it do this?  It does not look like it actually needs
to do this, and if we do a memory overcommit, it seems to me that we
could do it all the way (or at least have a sysctl to make it do it
all the way).  I'm also sorely missing a sysctl to turn off memory
overcommit...  (I don't know the VM system well enough to implement it
myself, and I feel very uncomfortable with doing changes in it.)

> If the application (phk malloc or the caller of malloc?) isn't
> prepared for this, it may end up with a NULL pointer that it doesn't
> expect - perhaps not even tripping over it until sometime later.

I'm pretty sure this is not the problem.  Inactive daemons seems start
dying, and I don't always get the "out of swap space" message that
comes with setting swap_pager_full.

The symptoms are that when the daemon fork after a 'daemons dying
occurrance', they will immediately get a sig11 on the child fork.

Eivind.

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?19981108165023.60036>