panic: vm_thread_swapin: cannot get kstack for proc: 643 under high memory load

Alan Cox alc at cs.rice.edu
Wed Jun 1 11:34:42 PDT 2005


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


More information about the freebsd-stable mailing list