From owner-freebsd-stable@FreeBSD.ORG Wed Jun 1 18:34:42 2005 Return-Path: X-Original-To: stable@FreeBSD.org 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 9994016A41C; Wed, 1 Jun 2005 18:34:42 +0000 (GMT) (envelope-from alc@cs.rice.edu) Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C00C43D48; Wed, 1 Jun 2005 18:34:42 +0000 (GMT) (envelope-from alc@cs.rice.edu) Received: from localhost (calypso.cs.rice.edu [128.42.1.127]) by cs.rice.edu (Postfix) with ESMTP id B21404A9BB; Wed, 1 Jun 2005 13:34:41 -0500 (CDT) Received: from cs.rice.edu ([128.42.1.30]) by localhost (calypso.cs.rice.edu [128.42.1.127]) (amavisd-new, port 10024) with LMTP id 27369-01-58; Wed, 1 Jun 2005 13:34:41 -0500 (CDT) Received: by cs.rice.edu (Postfix, from userid 19572) id 359924A99E; Wed, 1 Jun 2005 13:34:41 -0500 (CDT) Date: Wed, 1 Jun 2005 13:34:41 -0500 From: Alan Cox To: Robert Watson Message-ID: <20050601183441.GX22996@cs.rice.edu> References: <20050601135423.B689@fledge.watson.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050601135423.B689@fledge.watson.org> User-Agent: Mutt/1.4.2i X-Virus-Scanned: by amavis-2.2.1 at cs.rice.edu Cc: alc@FreeBSD.org, stable@FreeBSD.org, phk@FreeBSD.org Subject: Re: panic: vm_thread_swapin: cannot get kstack for proc: 643 under high memory load X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2005 18:34:42 -0000 On Wed, Jun 01, 2005 at 01:57:59PM +0100, Robert Watson wrote: > > Had an interesting panic on RELENG_5 today. System was under high memory > load due to a run-away pine process that was also generating a very high > memory load on the kernel due to heavy network I/O, but the swap pager > keels over due to ENOMEM (error 12). Before I knew it, syslogd was core > dumping and the system panicked due to a stack paging issue (possible that > there was no memory into which to load the stack?). > > Some details below; core is available. An undesirable failure mode... > > Robert N M Watson > > > Had an interesting panic on RELENG_5 today. System was under high memory > load due to a run-away pine process, but the swap pager keels over due to > ENOMEM (error 12). Before I knew it, syslogd was core dumping and the > system panicked due to a stack paging issue (possible that there was no > memory into which to load the stack?). We don't release the kernel virtual address range for the stack on a swap out. So, it's still available in vm_thread_swapin(). Furthermore, at this point in vm_thread_swapin(), we have already allocated the required physical page(s). The panic is a direct result of the I/O error. In other words, vm_thread_swapin() panics if there is an I/O error during page in of the stack page(s). > Regardless, not a desirable failure mode. Indeed, I'll see what I can do. Alan