From owner-freebsd-current@FreeBSD.ORG Sun Jan 30 14:18:30 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6A76616A4CE; Sun, 30 Jan 2005 14:18:30 +0000 (GMT) Received: from mail.chesapeake.net (chesapeake.net [208.142.252.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0317B43D41; Sun, 30 Jan 2005 14:18:30 +0000 (GMT) (envelope-from jroberson@chesapeake.net) Received: from mail.chesapeake.net (localhost [127.0.0.1]) by mail.chesapeake.net (8.12.10/8.12.10) with ESMTP id j0UEIA8v093215; Sun, 30 Jan 2005 09:18:10 -0500 (EST) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost)j0UEIAAD093202; Sun, 30 Jan 2005 09:18:10 -0500 (EST) (envelope-from jroberson@chesapeake.net) X-Authentication-Warning: mail.chesapeake.net: jroberson owned process doing -bs Date: Sun, 30 Jan 2005 09:18:09 -0500 (EST) From: Jeff Roberson To: Kris Kennaway In-Reply-To: <20050130105733.GA71626@xor.obsecurity.org> Message-ID: <20050130091732.S18864@mail.chesapeake.net> References: <20050130025217.GA32612@xor.obsecurity.org> <20050130093527.GA89923@xor.obsecurity.org> <20050130105733.GA71626@xor.obsecurity.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: alc@freebsd.org cc: "David G. Lawrence" cc: current@freebsd.org Subject: Re: do_execve() finding vmspace_destroyed set under load X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Jan 2005 14:18:30 -0000 On Sun, 30 Jan 2005, Kris Kennaway wrote: > On Sun, Jan 30, 2005 at 02:14:03AM -0800, David G. Lawrence wrote: > > > > > Needless to say, the scripts get pretty unhappy when they're summarily > > > > > aborted. What is the cause of this? > > > > > > > > There are many reasons why an exec can fail - you'd need to collect > > > > more info to be able to say specifically. Speaking generally, the above > > > > code happens because something failed after the process's address space > > > > had been cleared, so there is no process executable image to return > > > > to. The only thing to do in that case is to kill off the process. If > > > > you're only seeing the problem under load, it is probably indicating > > > > that your running out of a kernel VM pool of some kind. > > > > > > Any suggestions on what to look at to try and debug this further? > > > > The first thing to do is to add some kernel printf's to do_execve() > > in each of the 'if (error)' cases to determine where the error is occuring. > > It's probably not worth putting them in cases prior to the 'loop through > > the list of image activators', since the vmspace isn't destroyed until > > then. > > Once you've done that, the cause of the problem should become obvious. > > Thanks. Whatever the problem ends up being we should probably make sure there is some kind of reporting in this case. We can't expect normal users to diagnose resource shortages in this way. > > Kris >