Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Aug 1998 23:51:54 -0700 (PDT)
From:      mikeg@hoflink.com
To:        freebsd-gnats-submit@FreeBSD.ORG
Subject:   kern/7611: custom-builtkernel causes fatal trap 12: page fault while in kernel mode
Message-ID:  <199808140651.XAA04532@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         7611
>Category:       kern
>Synopsis:       custom-builtkernel causes fatal trap 12: page fault while in kernel mode
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 14 00:00:01 PDT 1998
>Last-Modified:
>Originator:     Michael Graziano
>Organization:
>Release:        2.2.7-RELEASE
>Environment:
FreeBSD  2.2.7-RELEASE FreeBSD 2.2.7-RELEASE #0: Thu Aug 13 21:22:28 EDT 1998
   root@:/usr/src/sys/compile/BEAST   i386
>Description:
This is *LONG*, take my apology now :)

Using a custom-built kernel, when attempting to shut the system down or reboot it, the machine dies with
Fatal trap 12: page fault while in kernel mode

The fault code is always the same also:
Supervisor read: Page not present
It leaves no dumps behind to examine.  This error also occours randomly while the system is running.

My hardware is (permission to laugh as loud as you want):
a Cyrix 486/40 (SX), 8 megs of ram with 81M swap space (configured on /dev/wd1s1b), 2400bps modem (/dev/sio2) and a Tseng ET4000 SVGA vid
board. The first hard drive is a Maxtor 2.06GB, the second is a WD 81GB (yes, I'm using the whole thing as swap space).
(better to give the whole sorry mess than miss something possibly significant)

->this problem report is the same as or similar to the following
-> (Most have been closed without fixes.  I gave up after these 12)
kern/1293 kern/2877 kern/5709 kern/5897 kern/2901 kern/2877 kern/1609
kern/2513 kern/3072 kern/3150 kern/4273 kern/5994 
>How-To-Repeat:
I am including my kernel config file here,  it occours any time a shutdown is attempted.  Please note that this does NOT occour with kernels built from the GENERIC config file

--BEGIN BEAST--
#
# Beast -- Custom kernel configuration file.
#          WD/ATAPI Disks.  80486 CPU, NO FPU
#	   
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#

machine		"i386"
cpu		"I486_CPU"
ident		"BEAST-1.0.0"
maxusers	10			#reduced (sig12)

options		GPL_MATH_EMULATE	#GPL'd 387 EMU.
options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		MSDOSFS			#MSDOS Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		BOUNCE_BUFFERS		#include support for DMA bounce buffers
options		UCONSOLE		#Allow users to grab the console
options		USERCONFIG		#boot -c editor

config		kernel	root on wd0

controller	isa0
controller	eisa0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
disk		fd1	at fdc0 drive 1

controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc0 drive 1

# BEAST's 2nd HDD is ATAPI-series
options		ATAPI		#Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr

# Mandatory, don't remove
device		npx0	at isa? port "IO_NPX" flags 0x1 irq 13 vector npxintr

device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		sio2	at isa? port "IO_COM3" tty irq 5 vector siointr

device		lpt0	at isa? port? tty irq 7 vector lptintr
device		mse0	at isa? port 0x23c tty irq 5 vector mseintr

device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	log
pseudo-device	sl	1
pseudo-device	ppp	1
pseudo-device	vn	1
pseudo-device	tun	1
pseudo-device	pty	16
pseudo-device	gzip		# Exec gzipped a.out's
pseudo-device	speaker		# For Piano and Morse :)

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# This provides support for System V shared memory.
#
options         SYSVSHM
options		SYSVSEM
options		SYSVMSG

--END BEAST--
>Fix:
Hmmmm, I give you two alternatives.  Both gory and unplesant, but workable as *temporary* fixes:

1) Disable all swap space, as in yank the swap devices from /etc/fstab
This works, the problem is in the VM system, and turning off swap space
gets rid of the problem.  It has the unfortunate effect of making this
particular box unusable since there isn't enough RAM to work in.

2) Boot and run from the GENERIC kernel.
This seems to work- both kernels built from the GENERIC config file and
the included kernel.GENERIC do not have this problem on my system.
However the generic kernel is bloated beyond belief and sucks up quite a
bit of RAM.
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808140651.XAA04532>