Re: Page fault in FreeBSD 5.3 on IBM e325, Dual AMD64 2.2GHz, 4GB RAM, ServeRAID 6M - debug logs

From: Robert Watson <rwatson_at_freebsd.org>
Date: Mon, 22 Nov 2004 10:43:43 +0000 (GMT)
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
Received on Mon Nov 22 2004 - 09:45:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:23 UTC