From owner-freebsd-hackers Fri Aug 29 11:09:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA18595 for hackers-outgoing; Fri, 29 Aug 1997 11:09:18 -0700 (PDT) Received: from eddie.mit.edu (EDDIE.MIT.EDU [18.62.0.6]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id LAA18589 for ; Fri, 29 Aug 1997 11:09:13 -0700 (PDT) Received: from ccomp.inode.com by eddie.mit.edu id aa02708; 29 Aug 97 14:02 EDT Received: (from gdk@localhost) by ccomp.inode.com (8.6.9/1.4) id NAA06741; Fri, 29 Aug 1997 13:51:31 -0400 From: Gary Kendall Message-Id: <199708291751.NAA06741@ccomp.inode.com> Subject: Re: Fatal trap 12: page fault while in kernel mode To: gordon@drogon.NET Date: Fri, 29 Aug 1997 13:51:31 -0400 (EDT) Cc: hackers@freebsd.ORG In-Reply-To: from Gordon Henderson at "Aug 29, 97 05:11:45 pm" X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@freebsd.ORG X-Loop: FreeBSD.org Precedence: bulk It wasn't too long ago that Gordon Henderson said: > > I got this last night: > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x800010 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xe0121320 > stack pointer = 0x10:0xdfbfff18 > frame pointer = 0x10:0xdfbfff28 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 7539 (named-xfer) > interrupt mask = net tty > panic: page fault > > Can anyone tell me what it means? > [snip] This looks familiar. Were you running pppd at the time, by any chance? I found a bug in the 2.0 pppd that might have escaped others' attention, and I just joined this list. ;-) The problem was an splx(s) was missing before an error return, and left interrupts masked off. What follows is a patch to a 2.0 /sys/net/if_ppp.c file, so I'd apply it manually (eg, don't use patch to apply it). Hope this helps. -------------------------------- cut here ------------------------------------ *** if_ppp.c Wed Jul 9 16:17:41 1997 --- if_ppp.c~ Sat Jul 5 09:58:47 1997 *************** *** 380,389 **** return (EWOULDBLOCK); } error = ttysleep(tp, (caddr_t)&tp->t_rawq, TTIPRI|PCATCH, ttyin, 0); ! if (error) { ! splx(s); ! return (error); ! } } if (tp->t_line != PPPDISC) { splx(s); --- 380,387 ---- return (EWOULDBLOCK); } error = ttysleep(tp, (caddr_t)&tp->t_rawq, TTIPRI|PCATCH, ttyin, 0); ! if (error) ! return error; } if (tp->t_line != PPPDISC) { splx(s); -------------------------------- cut here ------------------------------------ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The difficult is done immediately, the impossible takes a little longer. % %----------------------------------------------------------------------------% % gdk@ccomp.inode.com or gkendall@eddie.mit.edu % %----------------------------------------------------------------------------% % Creative Computing * 96 Forest Street * Danvers, MA 01923 * 508-777-3784 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%