On 2010-Apr-06 00:37:51 +0400, Artem Kim <[email protected]> wrote: >Fatal trap 12: page fault while in kernel mode >cpuid = 1; apic id = 01 >fault virtual address = 0x7d4c
This suggests an offset from a NULL pointer.
>0x8069ac41 is in DeleteLink (/usr/src/sys/netinet/libalias/alias_db.c:857).
>852 {
>853 struct libalias *la = lnk->la;
>854
>855 LIBALIAS_LOCK_ASSERT(la);
>856 /* Don't do anything if the link is marked permanent */
>857 if (la->deleteAllLinks == 0 && lnk->flags & LINK_PERMANENT)
>858 return;
>(kgdb) bt
>#7 0x8069ac41 in DeleteLink (lnk=0x84e0f980) at
>/usr/src/sys/netinet/libalias/alias_db.c:853
>#8 0x8069ae3e in HouseKeeping (la=0x84874000) at
>/usr/src/sys/netinet/libalias/alias_db.c:843
In the absence of someone who's seen this before, my initial guess is
that lnk->la is corrupted in frame #7. I'd start with 'print *lnk' at
frame #7 to confirm this. If so, you could go up to frame #8 and work
through the linkTableOut chain to find which entry is corrupt - but
actually finding _why_ it's corrupt will take a lot more work.
If this is repeatable, I'd suggest adding WITNESS, WITNESS_SKIPSPIN
and INVARIANTS and see if you can get the problem to show up closer
to its cause.
--
Peter Jeremy
pgpeAbDMaK4BN.pgp
Description: PGP signature
