Date: Wed, 1 Jun 2005 13:34:41 -0500 From: Alan Cox <alc@cs.rice.edu> To: Robert Watson <rwatson@FreeBSD.org> 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 Message-ID: <20050601183441.GX22996@cs.rice.edu> In-Reply-To: <20050601135423.B689@fledge.watson.org> References: <20050601135423.B689@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050601183441.GX22996>