Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Aug 1998 10:14:19 +0300 (EEST)
From:      Alexander Litvin <archer@lucky.net>
To:        Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Cc:        current@FreeBSD.ORG
Subject:   Re: encountered possible VM bug ?
Message-ID:  <199808270714.KAA02669@grape.carrier.kiev.ua>
In-Reply-To: <19980824111923.A207@compufit.at> <19980824115816.A15512@mars.hsc.fr> <199808241413.KAA26862@khavrinen.lcs.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <199808241413.KAA26862@khavrinen.lcs.mit.edu> you wrote:
GW> <<On Mon, 24 Aug 1998 11:58:16 +0200, Pierre Beyssac <Pierre.Beyssac@hsc.fr> said:

>> Under out of memory conditions, inetd tends to fall in a weird
>> state. Apparently this is an interaction between the malloc library
>> and inetd, but nobody has managed yet to find out exactly what
>> happens. Maybe error checking is lacking somewhere.

GW> No, this is the ``daemons dying'' bug which nobody has fixed yet.
GW> When the system runs out of swap, some random selection of processes
GW> which are in swap get corrupted.  Usually this results in a daemon
GW> which dies whenever it fork()s, but sometimes it is manifested as
GW> other sorts of corruption.  The message you see from realloc is
GW> indicative of a corrupted pointer.

Really, I was under impression, that it is the problem just with fork().
But now I may confirm that processes get corrupted in different manners.
E.g., I have now a specially written dummy daemon running, which I
was able to corrupt (intentionally exhausting swap) in such a way that
it successfully forks. Than child process sleeps (just to give me
chance to attach to it with debugger), allocates memory, accesses it
-- and during all that it doesn't get SIGSEGV. But then it dies when
trying to syslog(3). It seems that the corruption is in mmaped ld.so
or libc.3.1.so.

If anybody cares, I may try to give any other details.

GW> -GAWollman

SY,

Alexander Litvin, Lucky Net ltd.

--- 
According to Kentucky state law, every person must take a bath at least
once a year.

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?199808270714.KAA02669>