Subject: pool lossage
To: Matthew Jacob <mjacob@feral.com>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: tech-kern
Date: 10/17/2001 12:37:34
On Tue, Oct 09, 2001 at 10:04:38PM -0700, Matthew Jacob wrote:
> panic: panic: kernel diagnostic assertion "pcg->pcg_objects[idx] !=
> NULL" failed: file "../../../../kern/subr_pool.c", line 1695
Okay, I just saw something similar to this on my AlphaStation 200 with a
"tlp" as it was playing NFS server for my UltraSPARC CP1500 linking a
kernel...
The kernel that pooped out was built on Oct 5 ... so it predates
the partial-page stuff Ben added to subr_pool.c (which looks pretty
harmless anyway).
Anyone have any idea what might be at fault here? Note that Matt's
backtrace shows the assertion in pcg_get() failing, whereas mine is
the "== NULL" version of the assertion in pcg_put(), although it is
entirely possible that there was the same assertion failure I saw
in his case, as well (note the nested panic).
>
> Stopped in pid 5 (pagedaemon) at cpu_Debugger+0x4: ret
> zero,(ra
> )
> db> t
> cpu_Debugger() at cpu_Debugger+0x4
> panic() at panic+0x15c
> __assert() at __assert+0x34
> pool_cache_get() at pool_cache_get+0x154
> stge_add_rxbuf() at stge_add_rxbuf+0x74
> stge_rxintr() at stge_rxintr+0x178
> stge_intr() at stge_intr+0x120
> alpha_shared_intr_dispatch() at alpha_shared_intr_dispatch+0x6c
> eb164_iointr() at eb164_iointr+0x40
> interrupt() at interrupt+0x270
> XentInt() at XentInt+0x1c
> --- interrupt (from ipl 0) ---
> printf() at printf+0xcc
> panic() at panic+0xdc
> __assert() at __assert+0x34
> pool_cache_do_invalidate() at pool_cache_do_invalidate+0xe0
> pool_cache_reclaim() at pool_cache_reclaim+0x1c
> pool_reclaim() at pool_reclaim+0x58
> pool_drain() at pool_drain+0x90
> uvm_pageout() at uvm_pageout+0x164
> esigcode() at esigcode
> --- root of call graph ---
>
>
>
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>