Subject: kern/34775: processes accessing union mounts stuck in vnlock
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Denis Lagno <dlagno@rambler.ru>
List: netbsd-bugs
Date: 10/10/2006 22:10:01
>Number: 34775
>Category: kern
>Synopsis: processes accessing union mounts stuck in vnlock
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Oct 10 22:10:00 +0000 2006
>Originator: Denis Lagno
>Release: NetBSD 4.99.3
>Organization:
SWsoft
>Environment:
System: NetBSD flam.gado 4.99.3 NetBSD 4.99.3 (FLAM) #0: Tue Sep 26 21:12:59 MSD 2006 dina@flam.gado:/volatile/worksrc/netbsd-current/obj/sys/arch/i386/compile/FLAM i386
Architecture: i386
Machine: i386
hw.ncpu = 2
>Description:
I have following lines in /etc/fstab:
# cat /etc/fstab | grep union | grep netbsd
/var/src/repo/netbsd-current/src /var/worksrc/netbsd-current/src union rw,noauto,-b 0 0
/var/src/repo/netbsd-current/xsrc /var/worksrc/netbsd-current/xsrc union rw,noauto,-b 0 0
Initially /var/worksrc/netbsd-current/*src are empty and /var/src/repo/netbsd-current/*src contain netbsd snapshot.
I mount them from user:
$ mount /var/worksrc/netbsd-current/src
$ mount /var/worksrc/netbsd-current/xsrc
then start build.
Sometimes all goes ok. However, two times I encountered lockup during the build.
It happened with different -currents.
# ps axl | grep nbmake | grep -v grep
1025 4649 6309 64137 -2 0 172 772 vnlock D ttyp8 0:00.01 /flam/var/worksrc/netbsd-current/tools/bin/nbmake -V .OBJDIR
1025 13044 1 64137 -2 0 176 776 vnlock D ttyp8 0:00.03 /flam/var/worksrc/netbsd-current/tools/bin/nbmake _THISDIR_=x11/Xserver/h
1025 17785 1 67198 -2 0 528 1252 vnlock D ttyp8 0:00.10 /flam/var/worksrc/netbsd-current/tools/bin/nbmake _THISDIR_ obj
1025 22940 6600 64137 -2 0 176 776 vnlock D ttyp8 0:00.04 /flam/var/worksrc/netbsd-current/tools/bin/nbmake -V .OBJDIR
1025 24413 1 64137 -2 0 172 772 vnlock D ttyp8 0:00.01 /flam/var/worksrc/netbsd-current/tools/bin/nbmake _THISDIR_=x11/Xserver/h
They cannot be killed:
# pgrep nbmake
4649
22940
13044
24413
17785
# pkill -9 nbmake
# pgrep nbmake
4649
22940
13044
24413
17785
>How-To-Repeat:
stress test union mounts on SMP system
>Fix:
N/A