Subject: kern/13666: NFS loopback mount deadlock
To: None <gnats-bugs@gnats.netbsd.org>
From: Chuck Silvers <chuq@chuq.com>
List: netbsd-bugs
Date: 08/08/2001 23:41:06
>Number:         13666
>Category:       kern
>Synopsis:       NFS loopback mount deadlock
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 08 23:37:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Chuck Silvers
>Release:        NetBSD-current Sat Aug  4 00:24:07 PDT 2001
>Organization:
me
>Environment:
System: NetBSD spathi.chuq.com 1.5T NetBSD 1.5T (SPATHI) #1: Mon Mar 26 23:51:38 PST 2001 chs@spathi.chuq.com:/home/chs/netbsd/src/ubc.spathi/sys/arch/i386/compile/SPATHI i386



>Description:
	removing a device node via NFS when the client and the server
	are the same machine causes a deadlock.


>How-To-Repeat:
8 pc:~ # mount pc:/usr/chs/netbsd /build
9 pc:~ # ls -l /usr/chs/netbsd/destdir/dev/rsd0a
crw-r-----  1 root  operator  13, 0 Aug  6 07:12 /usr/chs/netbsd/destdir/dev/rsd0a
10 pc:~ # rm /build/destdir/dev/rsd0a
<hang>

db> t/t 0t136
trace: pid 136 at 0xcaf918dc
bpendtsleep(cb05f4f4,14,c02c19c0,0,cb05f4f4) at bpendtsleep
lockmgr(cb05f4f4,10002,cb05f488,caf91970,c018070b) at lockmgr+0x522
genfs_lock(caf91964) at genfs_lock+0x16
vn_lock(cb05f488,10002,caff9ecc,cb05f488,caf919b8) at vn_lock+0x6f
vget(cb05f488,10002) at vget+0xa1
checkalias(cb05f520,d00,c066bc00,caff9ecc,c066bc00) at checkalias+0x7c
ufs_vinit(c066bc00,c05ec100,c05ec000,caf91a2c,c36bff08) at ufs_vinit+0x80
ffs_vget(c066bc00,1d2e,caf91abc,caf91d90,cade8000) at ffs_vget+0x21f
ufs_lookup(caf91b2c,caf91d6c,caf91d90,c06b5440,100) at ufs_lookup+0x914
lookup(caf91d6c,0,5,caf91c34,0) at lookup+0x26b
nfs_namei(caf91d6c,caf91c64,5,c05eca00,c06b5900) at nfs_namei+0x620
nfsrv_remove(c06cb000,c05eca00,cadf71cc,caf91e08,0) at nfsrv_remove+0x434
nfssvc_nfsd(caf91e68,804b3a0,cadf71cc,caf91f78,cadf71cc) at nfssvc_nfsd+0x533
sys_nfssvc(cadf71cc,caf91f80,caf91f78) at sys_nfssvc+0x6d3
syscall_plain(bfbf001f,1f,bfbf001f,1f,bfbfdce4) at syscall_plain+0x98
db> t/t 0t233
trace: pid 233 at 0xcb05bbf0
bpendtsleep(c06d5a8c,18,c02c1580,0,0) at bpendtsleep
sbwait(c06d5a8c,0,c06d5a48,c06f0240,0) at sbwait+0x33
soreceive(c06d5a48,cb05bd1c,cb05bccc,cb05bd20,0) at soreceive+0x2b2
nfs_receive(c06f0240,cb05bd1c,cb05bd20,c06b5700,c06f0240) at nfs_receive+0x432
nfs_reply(c06f0240,c06b5000,c06b5038,c06b5000,ca3b9020) at nfs_reply+0x52
nfs_request(cb05f2c0,c06b5000,c,cafc739c,c0666500) at nfs_request+0x3db
nfs_removerpc(cb05f2c0,cade8813,5,c0666500,cafc739c) at nfs_removerpc+0x5c3
nfs_remove(cb05bef0,cb05bf78,cafc739c,c032c9f4,cb05bef0) at nfs_remove+0xde
sys_unlink(cafc739c,cb05bf80,cb05bf78) at sys_unlink+0x12c
syscall_plain(1f,1f,1f,1f,bfbfd918) at syscall_plain+0x98



>Fix:
	not provided.
>Release-Note:
>Audit-Trail:
>Unformatted: