From owner-freebsd-stable@FreeBSD.ORG Mon Jul 28 13:46:02 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B93E337B401 for ; Mon, 28 Jul 2003 13:46:02 -0700 (PDT) Received: from smtp.omnis.com (smtp.omnis.com [216.239.128.26]) by mx1.FreeBSD.org (Postfix) with ESMTP id A3EF543FB1 for ; Mon, 28 Jul 2003 13:46:01 -0700 (PDT) (envelope-from wes@softweyr.com) Received: from salty.rapid.stbernard.com (corp-2.ipinc.com [199.245.188.2]) by smtp-relay.omnis.com (Postfix) with ESMTP id B70025B650; Mon, 28 Jul 2003 13:45:59 -0700 (PDT) From: Wes Peters Organization: Softweyr.com To: Barney Wolff , Doug White Date: Mon, 28 Jul 2003 13:45:58 -0700 User-Agent: KMail/1.5.2 References: <20030723173427.GA72876@vmunix.com> <20030723140329.C92624@carver.gumbysoft.com> <20030723221336.GA26555@pit.databus.com> In-Reply-To: <20030723221336.GA26555@pit.databus.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200307281345.58831.wes@softweyr.com> cc: freebsd-stable@freebsd.org Subject: Re: malloc does not return null when out of memory X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2003 20:46:03 -0000 On Wednesday 23 July 2003 15:13, Barney Wolff wrote: > On Wed, Jul 23, 2003 at 02:09:00PM -0700, Doug White wrote: > > On Wed, 23 Jul 2003, Gabor wrote: > > > We have a little soekris box running freebsd that uses racoon for > > > key management. It's used for setting up an ipsec tunnel. I > > > noticed that one of these devices lost the tunnel this morning. > > > I looked in the log and saw this > > > > > > Jul 23 01:37:57 m0n0wall /kernel: pid 80 (racoon), uid 0, was > > > killed: out of swap space > > > > [...] > > > > > Here is the tail end of the output. It dies when trying to poke > > > at the memory using memset. If I just malloc without the memset, > > > it never even dies. > > > > That's normal. If you malloc() memory and never touch it then it is > > never actually allocated. > > > > Your problem is that you're running out of memory. Try killing off > > unneeded daemons and set maxusers to a low value (like 32). Also > > try reducing the size of your mfs partitions, if you're using > > rc.diskless2. I don't think raccoon is much of a memory pig, unless > > you have a huge number of connections. > > Shouldn't malloc return 0 when out of memory rather than returning > an address that won't work? I believe that was the complaint. > Presumably having NO_SWAPPING has something to do with it, but > filling the swap might well do the same thing. Define "out of memory". FreeBSD employs swap overcommit; the memory pages aren't allocated until they are actually touched. This is such a Frequently Asked Question it's really a Constantly Asked Question and *any* search of the archives would've turned up dozens of conversations on this exact same topic. In other words, let's not carry this on any further. -- "Where am I, and what am I doing in this handbasket?" Wes Peters wes@softweyr.com