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