6.1-STABLE: periodic kernel panic
eugen at kuzbass.ru
Mon May 22 22:56:48 PDT 2006
A couple of months ago I've replaced ordinary installation
of 4.11-STABLE (that worked rock stable) with NanoBSD 6.0.
The task of the machine remains the same: this is a router with four em(4)
interfaces, 7 vlans and one gif(4) interface that carries IPSEC traffic
using static preshared keys. It also runs quagga/ripd for RIPv2.
It panices every week, in general.
The worst, it fails to reboot automatically (just hangs after panic),
manual power cycle is required.
The default route points to gif0, it is advertized by another side
of IPSEC tunnel, RIPv2 runs both inside and ouside the tunnel.
Tunnel addresses are advertized with mask /32 by intermediary routers,
so tunnel "basement" is dynamic.
This is remote machine, so I have only serial console (RS232) access.
This NanoBSD runs from USB flash so it has no swap space
to generate crashdump. I have options ALT_BREAK_TO_DEBUGGER
in the kernel config but it does not work. I think the reason
is the same that reason for failure to reboot after panic,
this reason is described in detail here:
Recently I've upgraded to 6.1-STABLE and it still panices.
The panics seem to occur when the routing table changes.
It may be due to recursion when tunneled traffic try to run
through tunnel again. It's production router so I shouldn't expirement
too much with it, but will if needed.
Here is messages I've got to serial console today:
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc04efd53
stack pointer = 0x28:0xc7adbaa0
frame pointer = 0x28:0xc7adbaa8
code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1,
def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 14 (swi1: net)
trap number = 12
panic: page fault
Please help to debug this. I can rebuild and upload NanoBSD image
into USB flash any time.
More information about the freebsd-stable