Subject: Re: -current panic (pool_get free list modified in tlp_rxintr)
To: None <smd@ebone.net, toddpw@best.com>
From: Ross Harvey <ross@ghs.com>
List: port-alpha
Date: 10/23/1999 23:00:28
> From: Todd Whitesel <toddpw@best.com>
>
> > This happened during a bulk transfer from my i386 laptop to my
> > AlphaStation 200, with -current userland and kernel as of yesterday's sup.
> > 
> > fatal kernel trap:
> > panic: pool_get(mbpl): free list modified: magic=0; page 0xfffffc00029ca000; item addr 0xfffffc00029caa10
>
> This feels very similar to a panic I got last night while rcp'ing a set of
> 19991018 tarballs from a multia to an i386. On reboot the ncr0 was very
> unhappy, but after an SRM reset command it was working again.

Did yours include the misaligned access in sbdrop()? That's a kernel error
by definition. (The pool_get() panic is probably just a spurious secondary
effect.)

I opened kern/8673 for this bug.

With all the (icache-busting-they-probably-slow-you-down) macros, and with
gdb's very poor disassembly, it's really hard to tell which source line
faulted. On a kernel here, gdb reports line 757, which is the closing brace
of the first while-loop.

It would really be nice if there was a way to reproduce this. One possibility
is to instrument sbdrop() and the macros it calls; this might produce an
instrumented panic even on i386, which won't trap on its own.