Subject: kern/16355: multiple underlying nfs mounts + union fs == panics in 1.5.3 release?
To: None <gnats-bugs@gnats.netbsd.org>
From: None <hag@linnaean.org>
List: netbsd-bugs
Date: 04/14/2002 16:28:00
>Number:         16355
>Category:       kern
>Synopsis:       multiple underlying nfs mounts + union fs == panics in 1.5.3 release?
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 14 13:29:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Hagerty
>Release:        NetBSD 1.5.2
>Organization:
	I can't find my socks, so that should tell you something.
>Environment:
System: NetBSD bytes-ordered-sanely.int.smartleaf.com 1.5.3 NetBSD 1.5.3 (GENERI
C_DDB) #0: Sun Apr 14 13:45:01 EDT 2002 root@bytes-ordered-sanely:/usr/src/sys/a
rch/sparc/compile/GENERIC_DDB sparc
Architecture: sparc
Machine: sparc
>Description:
    I'm seeing union fs related looking panics in 1.5.3 release while
trying to compile pkgsrc on this box.  I also compiled the userland on
this box but didn't see any problems, so this helps isolate what seems
to be going on.

    The panic details:

panic: free vnode isn't, vp 0xf498e638
Stopped in sh at        cpu_Debugger+0x4:       jmpl            [%o7 + 0x8], %g0
ddb> trace
getnewvnode(0x0, 0xf04ca000, 0xf04a8200, 0xf49f59d4, 0x0, 0x0) at getnewvnode+0x
1bc
ffs_vget(0xf04ca000, 0x2a884, 0xf49f5abc, 0xf0280498, 0xf018dc6c, 0x2b) at ffs_v
get+0x44
ffs_valloc(0xf49f5ac0, 0xf017f80c, 0x9c, 0xf49f5abc, 0xf04a8200, 0xf04ca000) at f
fs_valloc+0x110
ufs_makeinode(0x81a4, 0xf48713a8, 0xf49f5cbc, 0xf49f5e7c, 0x8000, 0xf49f5d58) at
 ufs_makeinode+0x58
ufs_create(0xf49f5cc0, 0x10, 0xf04a8200, 0xf019f8a8, 0xf49f5d58, 0xf0510800) at u
fs_create+0x2c
union_create(0xf49f5d40, 0x10, 0xf009efd4, 0xf04b7d00, 0xf0279c00, 0xf4871480) a
t union_create+0x90
vn_open(0x0, 0x602, 0x1a4, 0x1b6, 0xf485e580, 0xf4873038) at vn_open+0x168
sys_open(0x0, 0xf49f5f28, 0xf49f5f20, 0xf008b1c0, 0xa, 0xf020cb98) at sys_open+0
x8c
syscall(0x5, 0xf49f5fb0, 0x64d28, 0xf0002000, 0x0, 0x2a) at syscall+0x19c
_syscall(0xf3e0c, 0x601, 0x1b6, 0xf49f5fb0, 0x0, 0x2a) at _syscall+0xb8
ddb>

>How-To-Repeat:
mount server:/usr/pkgsrc /usr/pkgsrc
mount server:/usr/pkgsrc-obj/distfiles /usr/pkgsrc/distfiles
mount -t union /usr/pkgsrc-obj /usr/pkgsrc

Run a large make and the box will probably panic sooner or later.  I
had compiled userland with a setup like:

mount server:/usr/src /usr/src
mount -t union /usr/src-obj /usr/src

and had no problems, so the two underlying mounts is probably important.

>Fix:
    You're asking the wrong guy.
>Release-Note:
>Audit-Trail:
>Unformatted: