Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 08 Dec 1995 16:07:55 -0800
From:      Dave Truesdell <truesdel@nas.nasa.gov>
To:        hackers@freebsd.org
Subject:   Hint's needed for debugging a SCSI CDROM changer problem.
Message-ID:  <8125.818467675@nas.nasa.gov>

next in thread | raw e-mail | index | archive | help
I've been attempting to get a SCSI CDROM changer working FreeBSD 2.1(-stable).
The device a Mountain "CD7" (aka. NRC MBR-7).  I can mount and access the first
four CDROM's without any problems.  However, when I attempt to mount the 5th
CDROM I soon get either (what appears to be) a hung SCSI bus, or I get "Fatal
trap 12"'s in random parts of the kernel.  (Two crashes I've saved had the
faults occur in both the isofs and vm code.)

Can anyone suggest ways of either getting information out of a hung system, or
tracking the fatal page faults back to their source?  I'm not afraid of reading
kernel code, but I'm not overly familiar with the Intel VM architecture, so
any hint's would be greatly appreciated.

The messages from the two panics and my config file is included below, if those
would provide any useful information.

crash #1:
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x8
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xf0102092
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         = 14 (find)
interrupt mask          = 
panic: page fault
syncing disks... done
dumping to dev 401, offset 0
dump 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 


Crash #2:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x4e
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xf0125f2c
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         = 54 (ifconfig)
interrupt mask          = bio 
panic: page fault
syncing disks... 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 giving up
dumping to dev 401, offset 0
dump 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 


Config file:
#
#
##############################################################################
## Motherboard: UC4914-G VL-bus with Intel 486DX2-66 cpu.
## 20MB 60ns main memory; 128k cache.
##############################################################################

machine		"i386"
#cpu		"I386_CPU"
cpu		"I486_CPU"
#cpu		"I586_CPU"		# aka Pentium(tm)

ident		POOH

# The `maxusers' parameter controls the static sizing of a number of
# internal system tables.
maxusers	20

# Set the default max number of processes per user to 128 and
# the max number of open files per user to 128
options		"CHILD_MAX=128"
options		"OPEN_MAX=128"

config		kernel	root on sd0 swap on sd0 and sd1 and sd2 dumps on sd0

# A math emulator is mandatory if you wish to run on hardware which
# does not have a floating-point processor.  Pick either the original,
# bogus (but freely-distributable) math emulator, or a much more
# fully-featured but GPL-licensed emulator taken from Linux.

#options	MATH_EMULATE		# OLD x87 math emulator
#options	GPL_MATH_EMULATE	# NEW/GPL x87 math emulator

#####################################################################
# COMPATIBILITY OPTIONS                                             

#
# Implement system calls compatible with 4.3BSD and older versions of
# FreeBSD.
#
options		"COMPAT_43"

# SV style shared memory and IPC (Necessary for Amanda)
#
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG

#####################################################################
# DEBUGGING OPTIONS

#options	DDB			# Kernel debugger
options		KTRACE			# System call tracing with ktrace(2).

#####################################################################
# NETWORKING OPTIONS

options		INET			#Internet communications protocols

# Network interfaces:
#  The `loop' pseudo-device is mandatory when networking is enabled.
#  The `ether' pseudo-device provides generic code to handle
#  Ethernets; it is mandatory when a Ethernet device driver is
#  configured.
#  The 'fddi' pseudo-device provides generic code to support FDDI.
#  The `sppp' pseudo-device serves a similar role for certain types
#  of synchronous PPP links (like `cx').
#  The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
#  The `ppp' pseudo-device implements the Point-to-Point Protocol.
#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
#  The `disc' pseudo-device implements a minimal network interface,
#  which throws away all packets sent and never receives any.  It is
#  included for testing purposes.
#  The `tun' pseudo-device implements the User Process PPP (iijppp)
#
pseudo-device	ether			#Generic Ethernet
#pseudo-device	fddi			#Generic FDDI
#pseudo-device	sppp			#Generic Synchronous PPP
pseudo-device	loop			#Network loopback device
pseudo-device	sl	1		#Serial Line IP
pseudo-device	ppp	1		#Point-to-point protocol
pseudo-device	bpfilter	4	#Berkeley packet filter
pseudo-device	disc			#Discard device
pseudo-device	tun	1		#Tunnel driver(user process ppp)

# Internet family options:
#
# TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in
# 4.2BSD.  This option should not be used unless you have a 4.2BSD
# machine and TCP connections fail.
#
# GATEWAY allows the machine to forward packets, and also configures
# larger static sizes of a number of system tables.
#
# MROUTING enables the kernel multicast packet forwarder, which works
# with mrouted(8).
#
# IPFIREWALL enables support for IP firewall construction, in
# conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE does
# the obvious thing.
#
# IPACCT enables IP accounting.
#
# ARP_PROXYALL enables global proxy ARP.  Beware!  This can burn
# your house down!  See netinet/if_ether.c for the gory details.
# (Eventually there will be a better management interface.)
#
#options	"TCP_COMPAT_42"		#emulate 4.2BSD TCP bugs
options		GATEWAY			#internetwork gateway
options		MROUTING		# Multicast routing
options         IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #print information about
					# dropped packets
#options	IPACCT			#ipaccounting
#options	ARP_PROXYALL		#global proxy ARP

#####################################################################
# FILESYSTEM OPTIONS

# These filesystems can not be demand loaded, so they must be compiled in.
options		FFS			#Berkeley Fast Filesystem
options		MFS			#Memory based Filesystem

# These filesystems could be demand loaded, but they are often used.
options		NFS			#Network Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		PROCFS			#Process filesystem

#####################################################################
# MISCELLANEOUS DEVICES AND OPTIONS

pseudo-device	pty	32	#Pseudo ttys - can go as high as 64
pseudo-device	log		#Kernel syslog interface (/dev/klog)
pseudo-device	gzip		#Exec gzipped a.out's
pseudo-device	vn		#Vnode driver (turns a file into a device)

#####################################################################
# HARDWARE DEVICE CONFIGURATION

#
# Mandatory ISA devices: isa, sc or vt, npx
#
controller	isa0

#
# Options for `isa':
#
# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
# interrupt controller.  This saves about 1.25 usec for each interrupt.
# No problems are known to be caused by this option.
#
# BOUNCE_BUFFERS provides support for ISA DMA on machines with more
# than 16 megabytes of memory.  It doesn't hurt on other machines.
# Some broken EISA and VLB hardware may need this, too.

options		"AUTO_EOI_1"
options		BOUNCE_BUFFERS

options		UCONSOLE		#Allow users to grab the console
options		XSERVER			#Include code for XFree86
options		HARDFONTS		#Load ISO-8859-1 font in display adapter
options		UCONSOLE		#Allow users to grab the console

# Numeric Co-Processor
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

##############################################################################
## Card: #9 GXE-64
## S3 based VLB graphics card
## Note: Has 2Mb of memory on board.
##############################################################################

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

## End #9 GXE-64

options		UCONSOLE		#Allow users to grab the console
options		XSERVER			#Include code for XFree86
options		HARDFONTS		#Load ISO-8859-1 font in display adapter
options		FAT_CURSOR		#start with block cursor

##############################################################################
## Card: BusLogic BT445S
## VLB SCSI-II Controller.
## Notes: Using floppy controller on board
##############################################################################

options		"SCSI_DELAY=15"		#Be pessimistic about Joe SCSI device
options		SCSIDEBUG		#Enable SCSI debugging
options		NEW_SCSICONF

# bt0: settings are irq 11 drq 5
#bt0 irq's ???
controller	bt0	at isa? port "IO_BT0" bio irq ? vector btintr

controller	scbus0	at bt0
# SCSI disk devices
device		sd0

# SCSI disk; Quantum Maverick 540S (516 MB)
# 1057758 sectors, 2853 cyls, 4 heads, 92 sectors/track
# bios geometry: 516 cyls, 64 heads, 32 sectors/track
# slice 1: sysid 165, start 32, size 1056736 (515 Meg)
#        size   offset    fstype   [fsize bsize bps/cpg]
# a:    65536        0    4.2BSD        0     0     0 	# (Cyl.    0 - 31)
# b:   131072    65536      swap                    	# (Cyl.   32 - 95)
# c:  1056736        0    unused        0     0       	# (Cyl.    0 - 515*)
# e:   860128   196608    4.2BSD        0     0     0 	# (Cyl.   96 - 515*)
# sd0s1a: /		ufs	rw
# sd0s1b: /tmp		mfs	rw
# sd0s1b: none		swap	sw
# sd0s1e: /usr		ufs	rw
disk		sd0 at scbus0 target 0

# SCSI disk; Quantum Lighting 730S (699 MB)
# 1431760 sectors, 3658 cyls, 4 heads, 97 sectors/track
# bios geometry: 699 cyls, 64 heads, 32 sectors/track
# slice 1: sysid 165, start 32, size 1431520 (698 Meg)
#        size   offset    fstype   [fsize bsize bps/cpg]
# b:   131072    65536      swap                    	# (Cyl.   32 - 95)
# c:  1431520        0    unused        0     0       	# (Cyl.    0 - 698*)
# e:    65536        0    4.2BSD        0     0     0 	# (Cyl.    0 - 31)
# f:   307200   196608    4.2BSD        0     0     0 	# (Cyl.   96 - 245)
# g:   927712   503808    4.2BSD        0     0     0 	# (Cyl.  246 - 698*)
# sd1s1b: none		swap	sw
# sd1s1e: unused
# sd1s1f: /var		ufs	rw
# sd1s1g: /usr/src	ufs	rw
disk		sd1 at scbus0 target 1

# SCSI disk; Quantum PD1225 (1169 MB)
# 2395980 sectors, 2448 cyls, 14 heads, 69 sectors/track
# bios geometry: 1169 cyls, 64 heads, 32 sectors/track
# slice 1: sysid 165, start 32, size 2394080 (1168 Meg)
#        size   offset    fstype   [fsize bsize bps/cpg]
# b:   131072        0      swap                    	# (Cyl.    0 - 63)
# c:  2394080        0    unused        0     0       	# (Cyl.    0 - 1168*)
# e:   307200   131072    4.2BSD     1024  8192     0 	# (Cyl.   64 - 213)
# f:  1955808   438272    4.2BSD     1024  8192     0 	# (Cyl.  214 - 1168*)
# sd2s1b: none		swap	sw
# sd2s1e: /amanda	ufs	rw
# sd2s1f: /u		ufs	rw
disk		sd2 at scbus0 target 2

# ** NOT IN USE **
#disk		sd3 at scbus0 target 3

# SCSI cdrom; Toshiba XM-3401TA
device		cd0 at scbus0 target 4

# SCSI tape; Archive Viper 2525
device		st0
tape		st0 at scbus0 target 5

# SCSI cdrom jukebox; Mountain "CD-7" (NRC MBR-7)
device		cd1 at scbus0 target 6 unit 0
device		cd2 at scbus0 target 6 unit 1
device		cd3 at scbus0 target 6 unit 2
device		cd4 at scbus0 target 6 unit 3
device		cd5 at scbus0 target 6 unit 4
device		cd6 at scbus0 target 6 unit 5
device		cd7 at scbus0 target 6 unit 6

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
# FLOPPY disk drive; TEAC dual 3.5/5.25
disk		fd0	at fdc0 drive 0  # 1.44MB 3.5in
disk		fd1	at fdc0 drive 1  # 1.2MB 5.25in

## End BusLogic BT445S

##############################################################################
## Card: Quickpath Port-Folio
## 
## Note: On-board floppy and IDE controllers are disabled.
##############################################################################

# controller	wdc0	at isa? port "IO_WD1" bio irq 14 flags 0x000080ff vector 
wdintr

## IDE disk; Conner Peripherals CP3544 (518 MB)
## 1061424 sectors, 1053 cyls, 16 heads, 63 sectors/track
## bios geometry: 1053 cyls, 16 heads, 63 sectors/track
## slice 1: sysid 4 (Primary DOS 16 bit FAT), start 63, size 40257 (19 Meg)
## slice 2: sysid 165, start 40320, size 1021104 (498 Meg)
##        size   offset    fstype   [fsize bsize bps/cpg]
## c:  1021104        0    unused        0     0       	# (Cyl.    0 - 1012)
## e:  1021104        0    4.2BSD        0     0     0 	# (Cyl.    0 - 1012)
## wd0s1: msdos
## wd0s2e: /usr/local/src	ufs	rw
##
## Note: drive will be probed for 32bit transfers.  Multi-sector transfers
##       will be allowed up to the maximum supported by the drive.
##disk		wd0	at wdc0 drive 0

#sio0 irq's 3,(4)
device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr

#serial mouse; fifo disabled
#sio1 irq's (3),4
device		sio1	at isa? port "IO_COM2" tty flags 0x02 irq 3 vector siointr

#sio2 irq's 3,4,5,9,(10),11
device		sio2	at isa? port "IO_COM3" tty irq 10 vector siointr

#modem; Supra 28.8 (v.FC)
#sio3 irq's 3,4,5,(9),12,15
device		sio3	at isa? port "IO_COM4" tty irq 9 vector siointr

#lpt0 irq's 5,(7)
device		lpt0	at isa? port? tty irq 7 vector lptintr
#lpt1 irq's 5,7
device		lpt1	at isa? port? tty

device		joy0	at isa? port "IO_GAME"

## End Quickpath Port-Folio

##############################################################################
## Card: 3Com 3C503
## 16 bit Ethernet controller.
##
##############################################################################

#ed0 irq's ???
#ed0 address 02:60:8c:dd:dc:4a
device		ed0	at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr

## End 3Com 3C-503

##############################################################################
## Card: Gravis UltraSound
## Sound card
## Note: Has 256Kb memory on board
##############################################################################

# If you have a GUS-MAX card and want to use the CS4231 codec on the
# card the drqs for the gus max must be 8 bit (1, 2, or 3).
# 
# If you would like to use the full duplex option on the gus, then define
# flags to be the ``read dma channel''.
#

controller	snd0

#gus0 irq's 2,3,5,7,11,12,(15)
#gus0/MIDI irq's 2,3,5,7,11,12,15
#device gus0 at isa? port 0x220 irq 15 drq 1 vector gusintr
device gus0 at isa? port 0x220 irq 15 drq 1 flags 0x3 vector gusintr

## End Gravis UltraSound


# IRQ's
#device	1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
#sio0	       ( )  X
#sio1	        X  ( )
#sio2	       ( )  .  ( )             ( )  x  ( )
#sio3	        .  ( ) ( )              x          ( )         ( )
#lpt0	               ( )      X
#lpt1	                .      ( )
#wdc0	                                                    X
#
#fdc0	                    X
#bt0	                                        X 
#
#gus0	   ( ) ( )     ( )     ( )             ( ) ( )          x 
#gus0/MIDI ( ) ( )     ( )      .              ( )  x          ( )
#
#sc0    X
#
#ed0	   ( )  .  ( )  x 

# Misc notes:
# Printer Ribbons:
#   Ribbon's Inc. (in TX.)
#   800/742-2661 -or- 602/241-9431
#   $10.95 each


T.T.F.N.,
Dave Truesdell     Wombat Wrestler/Software Packrat/NAS Newsmaster
(truesdel@nas.nasa.gov)




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