Page fault in FreeBSD 5.3 on IBM e325, Dual AMD64 2.2GHz, 4GB
RAM, ServeRAID 6M - debug logs
Robert Watson
rwatson at freebsd.org
Mon Nov 22 02:45:29 PST 2004
On Mon, 22 Nov 2004, Ganbold wrote:
> Fatal trap 12: page fault while in kernel mode
> cpuid = 1; apic id = 01
> fault virtual address = 0x18
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xffffffff80277fc0
> stack pointer = 0x10:0xffffffffb36ab830
> frame pointer = 0x10:0xffffffffb36ab890
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 44 (swi1: net)
> [thread 100044]
> Stopped at m_copym+0x190: incl %ecx
<...>
> --------------------------------------------------------------------------------------------------------
>
> It seems to me the problem is related to network stack and threading.
> Am I right? How to solve this problem?
I've seen reports of this problem with and without debug.mpsafenet=1,
which suggests it is a network stack bug but not specific to locking. I've
also seen reports that disabling TCP SACK will make the problem go away,
which would be good to confirm. I spent the weekend building up some more
expertise in TCP and reading a lot of TCP code, and hope to look at this
problem in more detail today. You may want to try turning off TCP sack
using net.inet.tcp.sack.enable=0 in sysctl.conf (or loader.conf).
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Principal Research Scientist, McAfee Research
More information about the freebsd-current
mailing list