Subject: Re: panic: pv_unlink0 - status report
To: None <port-sparc@NetBSD.ORG>
From: Erik E. Fair <fair@clock.org>
List: port-sparc
Date: 05/05/1997 22:57:03
I am pretty prepared at this point to say that the frequency of the bug is
related to kernel size; I just booted a kernel that is stable past the end
of /etc/rc (like that other one I built by luck) from sources current as of
yesterday (May 4).
text data bss dec hex
1155072 113032 69544 1337648 146930 /netbsd
1138688 112456 69544 1320688 1426f0 /netbsd.bad
1245184 113056 63976 1422216 15b388 /netbsd.gen-dbug
1114112 110424 66600 1291136 13b380 /netbsd.prev
netbsd.prev is what I was running; a CESIUM kernel with makeoptions DEBUG=3D=
"-g"
netbsd.bad dies with panic: pv_unlink0 near the end of /etc/rc (CESIUM
kernel, with DEBUG and makeoptions DEBUG=3D"-g", but with all unused device
drivers (mostly the Sun graphics drivers other than cgsix) removed), and
this despite having "pmapdebug =3D PDB_SANITYCHK". The current /netbsd kerne=
l
also has this debug feature turned on.
netbsd.gen-dbug is a GENERIC kernel with makeoptions DEBUG=3D"-g" (which
worked fine for long enough that I decided to try and compile a CESIUM
kernel the same way)
Another oddity that some others may have noticed - vmstat occasionally
reports vastly more pages in use than the system even has. I'm gonna go
poke at that, with some hope that it might give me insight...
Erik Fair <fair@clock.org> (got zmailer working again)
# dmesg
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.2D (CESIUM) #8: Sun May 4 22:10:49 PDT 1997
root@cesium.clock.org:/usr/src/sys/arch/sparc/compile/CESIUM
real mem =3D 100188160
avail mem =3D 93556736
using 768 buffers containing 3145728 bytes of memory
bootpath: /iommu@0,10000000/sbus@0,10001000/dma@0,81000/esp@0,80000/sd@0,0
mainbus0 (root): SUNW,SPARCstation-LX
cpu0 at mainbus0: TMS390S10 @ 50 MHz, on-chip FPU
cpu0: physical 4K instruction (32 b/l), 2K data (16 b/l) cache enabled
obio0 at mainbus0
clock0 at obio0 addr 0x71200000: mk48t08 (eeprom)
timer0 at obio0 addr 0x71d00000 delay constant 23
zs0 at obio0 addr 0x71100000 pri 12, softpri 6
zs0a: console i/o
zs1 at obio0 addr 0x71000000 pri 12, softpri 6
[slavioconfig at obio0] addr 0x71800000 not configured
auxreg0 at obio0 addr 0x71900000
power0 at obio0 addr 0x71910000
fdc0 at obio0 addr 0x71400000 pri 11, softpri 4: chip 82077
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
iommu0 at mainbus0 addr 0x10000000: version 1/4, page-size 4096, range 64MB
sbus0 at iommu0: clock =3D 25 MHz
dma0 at sbus0 slot 4 offset 0x8400000: rev 2
esp0 at dma0 slot 0x4 offset 0x8800000 pri 4: ESP200, 40MHz, SCSI ID 7
scsibus0 at esp0: 8 targets
sd0 at scsibus0 targ 3 lun 0: <QUANTUM, FIREBALL1080S, 1Q09> SCSI2 0/direct
fixed
sd0: 1042MB, 3835 cyl, 4 head, 139 sec, 512 bytes/sec
SUNW,bpp at sbus0 slot 4 offset 0xc800000 not configured
ledma0 at sbus0 slot 4 offset 0x8400010: rev 2
le0 at ledma0 slot 0x4 offset 0x8c00000 pri 6: address 08:00:20:00:5a:bc
le0: 8 receive buffers, 2 transmit buffers
dma1 at sbus0 slot 0 offset 0x81000: rev esc
esp1 at dma1 slot 0x0 offset 0x80000 pri 5: ESP200, 40MHz, SCSI ID 7
scsibus1 at esp1: 8 targets
sd1 at scsibus1 targ 0 lun 0: <DEC, DSP5350S, 427B> SCSI2 0/direct fixed
sd1: 3406MB, 3055 cyl, 25 head, 91 sec, 512 bytes/sec
sd3 at scsibus1 targ 1 lun 0: <DEC, DSP5350S, 427B> SCSI2 0/direct fixed
sd3: 3406MB, 3055 cyl, 25 head, 91 sec, 512 bytes/sec
lebuffer0 at sbus0 slot 0 offset 0x40000
le1 at lebuffer0 slot 0x0 offset 0x60000 pri 7: address 08:00:20:00:5a:bc
le1: 64 receive buffers, 16 transmit buffers
SUNW,DBRIe at sbus0 slot 2 offset 0x10000 not configured
cgsix0 at sbus0 slot 3 offset 0x0: SUNW,501-1672, 1152 x 900, rev 8
init: copying out path `/sbin/init' 11
# cat /sys/arch/sparc/conf/CESIUM
# $NetBSD: GENERIC,v 1.42 1997/03/13 00:46:13 cgd Exp $
include "arch/sparc/conf/std.sparc"
makeoptions DEBUG=3D"-g"
maxusers 32
# Options for variants of the Sun SPARC architecure.
# At least one is required.
options SUN4M # sun4m - SS10, SS20, Classic, etc.
# Standard system options
options KTRACE # system call tracing
options SYSVMSG # System V message queues
options SYSVSEM # System V semaphores
options SYSVSHM # System V shared memory
#options SHMMAXPGS=3D1024 # 1024 pages is the default
options LKM # loadable kernel modules
#options INSECURE # disable kernel security level
#options UCONSOLE # allow anyone to steal the virtual console
# Debugging options
#options DDB # kernel dynamic debugger
options DEBUG # kernel debugging code
options DIAGNOSTIC # extra kernel sanity checking
#options KGDB # support for kernel gdb
#options KGDBDEV=3D0xc01 # kgdb device number (dev_t)
#options KGDBRATE=3D38400 # baud rate
# Compatibility options
options COMPAT_43 # 4.3BSD system interfaces
options COMPAT_10 # NetBSD 1.0 binary compatibility
options COMPAT_11 # NetBSD 1.1 binary compatibility
options COMPAT_12 # NetBSD 1.2 binary compatibility
options COMPAT_SUNOS # SunOS 4.x binary compatibility
options COMPAT_SVR4 # SunOS 5.x binary compatibility
options EXEC_ELF32 # Exec module for SunOS 5.x binaries.
# Filesystem options
file-system FFS # Berkeley Fast Filesystem
file-system NFS # Sun NFS-compatible filesystem client
file-system KERNFS # kernel data-structure filesystem
file-system NULLFS # NULL layered filesystem
file-system MFS # memory-based filesystem
file-system FDESC # user file descriptor filesystem
file-system UMAPFS # uid/gid remapping filesystem
file-system LFS # Log-based filesystem (still experimental)
file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system UNION # union file system
file-system MSDOSFS # MS-DOS FAT filesystem(s).
options NFSSERVER # Sun NFS-compatible filesystem server
options QUOTA # FFS quotas
options FIFO # POSIX fifo support (in all filesystems)
options NTP # Kernel phased locked loop code
options PPS # Kernel PPS sync dreiver for serial ports
# Networking options
options INET # IP stack
options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
options GATEWAY # IP packet forwarding
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25
#options PFIL_HOOKS # pfil(9) packet filter hooks.
options MROUTING # IP multicast
# Options for SPARCstation hardware
options RASTERCONSOLE # fast rasterop console
# Generic swap; second partition of root disk or network.
#config netbsd root on ? type ?
config netbsd root on sd1a type ffs swap on sd1b and sd3b
# Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
# Bus types found on SPARC systems.
obio0 at mainbus0 # sun4 and sun4m
iommu0 at mainbus0 # sun4m
sbus0 at iommu0 # sun4m
audio0 at obio0 # sun4m
audio0 at sbus0 slot ? offset ? # sun4m
auxreg0 at obio0 # sun4m
# Power status and control register found on Sun4m systems
power0 at obio0
# Mostek clock found on 4/300, sun4c, and sun4m systems.
# The Mostek clock NVRAM is the "eeprom" on sun4/300 systems.
clock0 at obio0 # sun4m
# Memory error registers.
memreg0 at obio0 # sun4m
# Timer chip found on 4/300, sun4c, and sun4m systems.
timer0 at obio0 # sun4m
# Zilog 8530 serial chips. Each has two-channels.
# zs0 is ttya and ttyb. zs1 is the keyboard and mouse.
zs0 at obio0 # sun4m
zs1 at obio0 # sun4m
#
# Note the flags on the esp entries below, that work around
# deficiencies in the current driver:
# bits 0-7: disable disconnect/reselect for the corresponding target
# bits 8-15: disable synch negotiation for target [bit-8]
# Note: targets 4-7 have disconnect/reselect enabled on the premise
# that tape devices normally have one of these targets. Tape
# devices should be allowed to disconnect for the SCSI bus
# to operate acceptably.
#
# sun4c or sun4m SCSI - an NCR53c94 or equivalent behind
# specialized DMA glue
dma0 at sbus0 slot ? offset ? # on-board SCSI
esp0 at dma0 flags 0xff0f # sun4m
# FSBE/S SCSI - an NCR53c94 or equivalent behind
dma1 at sbus0 slot 0 offset 0x81000
dma* at sbus? slot ? offset ? # SBus SCSI
esp1 at dma1 flags 0xff0f
esp* at sbus? slot ? offset ? flags 0xff0f # two flavours
esp* at dma? flags 0xff0f # depending on model
# sun4m Ethernet - an AMD 7990 LANCE behind
# specialized DMA glue
ledma0 at sbus0 slot ? offset ? # sun4m on-board
le0 at ledma0 #
# Additional SBus LANCE devices - glued on by lebuffer
lebuffer0 at sbus0 slot ? offset ? # sun4m SBus
lebuffer* at sbus? slot ? offset ? # sun4m SBus
le0 at lebuffer0 #
le* at lebuffer? #
# Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
# systems. If your sun4 system has a cgfour installed in the P4 slot,
# the P4 entries for "bwtwo" will attach to the overlay plane of the
# "cgfour".
bwtwo* at sbus? slot ? offset ? # sun4c and sun4m
# Sun "cgthree" Sbus color framebuffer
cgthree0 at sbus? slot ? offset ?
cgthree* at sbus? slot ? offset ?
#cgthree0 at obio? slot ? offset ? # sun4m
#cgthree* at obio? slot ? offset ? # sun4m
# Sun "cgsix" accelerated color framebuffer.
cgsix0 at sbus? slot ? offset ?
cgsix* at sbus? slot ? offset ?
# Sun "tcx" accelerated color framebuffer.
tcx0 at sbus? slot ? offset ?
tcx* at sbus? slot ? offset ?
# Sun "cgfourteen" accelerated 24-bit framebuffer.
cgfourteen0 at obio0 # sun4m
# SCSI bus layer. SCSI devices attach to the SCSI bus, which attaches
# to the underlying hardware controller.
scsibus0 at esp0
scsibus1 at esp1
scsibus* at esp?
# fix disks at particular locations so that a dead or new disk
# doesn't screw up fstab
# built-in slow SCSI - even numbered drives
# the odd target ordering is to accomodate the internal drive at ID 3
sd0 at scsibus0 target 3 lun 0 # internal (sigh - sunos)
sd2 at scsibus0 target 1 lun 0 # external slow
sd4 at scsibus0 target 2 lun 0 # external slow
sd6 at scsibus0 target 0 lun 0 # external slow (note - ID
swap with 3)
# FSBE/S Fast SCSI-2 - odd numbered drives
sd1 at scsibus1 target 0 lun 0 # external fast
sd3 at scsibus1 target 1 lun 0 # external fast
sd5 at scsibus1 target 2 lun 0 # external fast
sd7 at scsibus1 target 3 lun 0 # external fast
# These entries find devices on all SCSI busses and assign
# unit numbers dynamically.
sd* at scsibus? target ? lun ? # SCSI disks
st* at scsibus? target ? lun ? # SCSI tapes
cd* at scsibus? target ? lun ? # SCSI CD-ROMs
ch* at scsibus? target ? lun ? # SCSI changer devices
# Floppy controller and drive found on SPARCstations.
fdc0 at obio0 # sun4m controller
fd* at fdc0 # the drive itself
pseudo-device loop # loopback interface; required
pseudo-device pty 128 # pseudo-ttys (for network, etc.)
pseudo-device sl 2 # SLIP interfaces
pseudo-device kbd # Sun keyboard
pseudo-device ppp 2 # PPP interfaces
pseudo-device tun 4 # Network "tunnel" device
pseudo-device bpfilter 16 # Berkeley Packet Filter
pseudo-device vnd 4 # disk-like interface to files
pseudo-device ccd 4 # concatenated and striped disks
#pseudo-device strip 1 # radio clock
#pseudo-device ipfilter # ip filter