Subject: kern/25668: panic in layered file system code
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <jarle@uninett.no>
List: netbsd-bugs
Date: 05/22/2004 13:02:47
>Number: 25668
>Category: kern
>Synopsis: panic in layered file system code
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat May 22 11:03:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Jarle Greipsland
>Release: NetBSD 2.0E
>Organization:
>Environment:
System: NetBSD darling.urc.uninett.no 2.0E NetBSD 2.0E (DARLING) #45: Thu May 20 20:11:27 CEST 2004 jarle@darling.urc.uninett.no:/sys/arch/i386/compile/DARLING i386
Architecture: i386
Machine: i386
>Description:
I was trying to upgrade from NetBSD 2.0C (2004-04-10-ish) to -current. The
system in question is configured using a variety of layered file systems,
both nullfs mounts and union mounts -- even union mounts on top of nullfs
mounts. I had build, installed, and was running the new 2.0E kernel. Some
time during the night, most probably during one of the daily cron jobs, the
system panicked. The program causing the panic was find.
I managed to get jot down the stack trace, and I might guess that the
introduction of the statvfs-calls might have played a role in this.
panic: double fault ... in find ...
ether_output
nd6_output
ip6_output
tcp_output
tcp_delack
softclock
softintr_dispatch
Xsoftclock
--- interrupt ---
copy_statvfs_info
ffs_statvfs
layerfs_statvfs
union_statvfs
dostatvfs
compat_20_sys_fstatfs
syscall_plain
The active parts of the kernel configuration file:
include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
maxusers 32 # estimated number of users
options I486_CPU
options INSECURE # disable kernel security levels - X needs this
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
options SYSTRACE # system call vetting via systrace(1)
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options P1003_1B_SEMAPHORE # p1003.1b semaphore support
options LKM # loadable kernel modules
options USERCONF # userconf(4) support
options DDB # in-kernel debugger
options DDB_HISTORY_SIZE=512 # enable history editing in DDB
options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI
options COMPAT_09 # NetBSD 0.9
options COMPAT_10 # NetBSD 1.0
options COMPAT_11 # NetBSD 1.1
options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI
options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI
options COMPAT_14 # NetBSD 1.4
options COMPAT_15 # NetBSD 1.5
options COMPAT_16 # NetBSD 1.6
options COMPAT_20 # NetBSD 2.0
options COMPAT_43 # 4.3BSD, 386BSD, and BSDI
options COMPAT_386BSD_MBRPART # recognize old partition ID
file-system FFS # UFS
file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NFS # Network File System client
file-system MSDOSFS # MS-DOS file system
file-system FDESC # /dev/fd
file-system KERNFS # /kern
file-system NULLFS # loopback file system
file-system OVERLAY # overlay file system
file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
file-system UMAPFS # NULLFS + uid and gid remapping
file-system UNION # union file system
options QUOTA # UFS quotas
options SOFTDEP # FFS soft updates support.
options NFSSERVER # Network File System server
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
options EISAVERBOSE # verbose EISA device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
options WSEMUL_VT100 # VT100 / VT220 emulation
options WS_KERNEL_FG=WSCOL_GREEN
options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
options WSDISPLAY_COMPAT_USL # VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
config netbsd root on ? type ?
mainbus0 at root
cpu* at mainbus?
eisa0 at mainbus?
isa0 at mainbus?
npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
pms* at pckbc? # PS/2 mouse for wsmouse
vga0 at isa?
wsdisplay* at vga? console ?
wskbd* at pckbd? console ?
wsmouse* at pms? mux 0
pcppi0 at isa?
sysbeep0 at pcppi?
com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 5
lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports
lpt1 at isa? port 0x278
lpt2 at isa? port 0x3bc
aic0 at isa? port 0x340 irq 11 # Adaptec 152[02] SCSI
scsibus* at scsi?
sd* at scsibus? target ? lun ? # SCSI disk drives
st* at scsibus? target ? lun ? # SCSI tape drives
cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
atabus* at ata?
wd* at atabus? drive ? flags 0x0000
fdc0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy controllers
fd* at fdc? drive ? # the drives themselves
we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
we1 at isa? port 0x300 iomem 0xcc000 irq 10
spkr0 at pcppi? # PC speaker
include "arch/i386/conf/GENERIC.local"
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device tun 2 # network tunneling over tty
pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device pty # pseudo-terminals
pseudo-device rnd # /dev/random and in-kernel generator
pseudo-device clockctl # user control of clock subsystem
pseudo-device wsmux # mouse & keyboard multiplexor
pseudo-device wsfont
pseudo-device ksyms # /dev/ksyms
>How-To-Repeat:
Use layered file systems?
>Fix:
unknown
>Release-Note:
>Audit-Trail:
>Unformatted: