Bug 137588 - [unionfs] [lor] LOR nfs/ufs/nfs
Summary: [unionfs] [lor] LOR nfs/ufs/nfs
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 8.0-BETA2
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-09 08:30 UTC by danny
Modified: 2022-01-22 16:10 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description danny 2009-08-09 08:30:01 UTC
	host is diskless, and mount /etc via unionfs to a mfs, and onboot:
lock order reversal:
 1st 0xffffff00029577f8 nfs (nfs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1821
 2nd 0xffffff0002956ba8 ufs (ufs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843
 3rd 0xffffff0002d79098 nfs (nfs) @ /home/src/head/sys/nfsclient/nfs_node.c:161
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x81e
__lockmgr_args() at __lockmgr_args+0xcf3
nfs_nget() at nfs_nget+0x1c9
nfs_lookup() at nfs_lookup+0x4fa
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x95
unionfs_lookup() at unionfs_lookup+0x586
vfs_cache_lookup() at vfs_cache_lookup+0xf0
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x95
lookup() at lookup+0x37d
namei() at namei+0x479
kern_statat_vnhook() at kern_statat_vnhook+0x8f
kern_statat() at kern_statat+0x15
stat() at stat+0x2a
syscall() at syscall+0x1af
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (188, FreeBSD ELF64, stat), rip = 0x80072f41c, rsp = 0x7fffffffebb8, rbp = 0x8009173c0 ---
lock order reversal:
 1st 0xffffff0002d1fd80 unionfs (unionfs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_subr.c:356
 2nd 0xffffff0002d79098 nfs (nfs) @ /home/src/head/sys/kern/vfs_subr.c:2188
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x81e
__lockmgr_args() at __lockmgr_args+0xcf3
vop_stdlock() at vop_stdlock+0x39
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x47
vrele() at vrele+0x131
unionfs_noderem() at unionfs_noderem+0x1a4
unionfs_reclaim() at unionfs_reclaim+0x11
vgonel() at vgonel+0x105
vrecycle() at vrecycle+0x4c
unionfs_inactive() at unionfs_inactive+0x20
vinactive() at vinactive+0x72
vput() at vput+0x230
kern_statat_vnhook() at kern_statat_vnhook+0xfa
kern_statat() at kern_statat+0x15
stat() at stat+0x2a
syscall() at syscall+0x1af
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (188, FreeBSD ELF64, stat), rip = 0x80072f41c, rsp = 0x7fffffffebb8, rbp = 0x8009173c0 ---
lock order reversal:
 1st 0xffffff0002d1fd80 unionfs (unionfs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_subr.c:356
 2nd 0xffffff0002d1fba8 ufs (ufs) @ /home/src/head/sys/kern/vfs_subr.c:2188
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x81e
__lockmgr_args() at __lockmgr_args+0xcf3
ffs_lock() at ffs_lock+0x8c
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x47
vrele() at vrele+0x131
unionfs_noderem() at unionfs_noderem+0x1c4
unionfs_reclaim() at unionfs_reclaim+0x11
vgonel() at vgonel+0x105
vrecycle() at vrecycle+0x4c
unionfs_inactive() at unionfs_inactive+0x20
vinactive() at vinactive+0x72
vput() at vput+0x230
kern_statat_vnhook() at kern_statat_vnhook+0xfa
kern_statat() at kern_statat+0x15
stat() at stat+0x2a
syscall() at syscall+0x1af
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (188, FreeBSD ELF64, stat), rip = 0x80072f41c, rsp = 0x7fffffffebb8, rbp = 0x8009173c0 ---

How-To-Repeat: 	boot diskless host, in /etc/rc.initdiskless add:
	if [ -e /conf/union ]; then
    	   kldload unionfs
    	   mount_md 4096 /.etc
    	   mount_unionfs -o transparent /.etc /etc
	fi
fi
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2009-08-09 08:51:20 UTC
Responsible Changed
From-To: freebsd-bugs->daichi

Over to maintainer.
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2013-07-03 01:50:32 UTC
State Changed
From-To: open->open

commit bit has been taken in for safekeeping. 


Comment 3 Mark Linimon freebsd_committer freebsd_triage 2013-07-03 01:50:32 UTC
Responsible Changed
From-To: daichi->freebsd-fs
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:02 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped