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: