Subject: kern/37109: fscow_run + swap on regular file deadlock
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 10/11/2007 17:30:00
>Number:         37109
>Category:       kern
>Synopsis:       fscow_run + swap on regular file deadlock
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 11 17:30:00 +0000 2007
>Originator:     YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
>Release:        NetBSD 4.99.32
>Organization:
	
>Environment:
	
	
System: NetBSD bear.yamanet 4.99.26 NetBSD 4.99.26 (build.bear4) #0: Tue Aug 7 17:17:40 JST 2007 takashi@kaeru:/usr/home/takashi/work/kernel/build.bear4 i386
Architecture: i386
Machine: i386
>Description:

	see below.
	note that sw_reg_start is doing VOP in interrupt context.

mount_getspecific(c1ce0000,2,0,c403c780,0) at netbsd:mount_getspecific+0x26
fscow_run(c403c780,c1d00bb8,c18c6ee0,0,c04ce920) at netbsd:fscow_run+0x31
spec_strategy(d3a1ce90,c403be60,d3a1ce9c,c045e620,d4555174) at netbsd:spec_strat
egy+0x68
VOP_STRATEGY(d4555174,c403c780,c1b7d0a6,c403be60,c403c700) at netbsd:VOP_STRATEG
Y+0x28
sw_reg_start(5,c403be60,c4033c00,c02c6355,c000) at netbsd:sw_reg_start+0x35
sw_reg_iodone(c403c700,0,1e89,c1b7d0a4,c1b7d000) at netbsd:sw_reg_iodone+0x7e
biodone(c403c700,c33d10,0,c03c73a8,5) at netbsd:biodone+0xec
lddone(c1b7d000,c403c700,20,4,3) at netbsd:lddone+0x5f
ld_amr_handler(c192db30,d3a1cf90,d3a1cfcc,c02e681c,6) at netbsd:ld_amr_handler+0
x5b
amr_intr(c1b7d200,0,0,0,0) at netbsd:amr_intr+0xb9
intr_biglock_wrapper(c1b95280,d44769a0,0,0,0) at netbsd:intr_biglock_wrapper+0x2
5
DDB lost frame for netbsd:Xintr_ioapic_level7+0xac, trying 0xd3a1cff4
Xintr_ioapic_level7() at netbsd:Xintr_ioapic_level7+0xac
--- interrupt ---
--- switch to interrupt stack ---
specificdata_getspecific(d398903c,c1ce091c,1,d4476a4c,d4476a46) at netbsd:specif
icdata_getspecific+0x24
mount_getspecific(c1ce0000,1,d4476a5c,d4476a80,0) at netbsd:mount_getspecific+0x
26         
_fstrans_start(c1ce0000,2,1,0,0) at netbsd:_fstrans_start+0x83
ufs_bmap(d4476a80,0,10000,c045e5e0,d49b2458) at netbsd:ufs_bmap+0x49
VOP_BMAP(d49b2458,4db,0,d4476ae8,d4476adc) at netbsd:VOP_BMAP+0x40
swstrategy(c1d03788,d3a33a80,d4476b5c,c1d03788,c1d03788) at netbsd:swstrategy+0x
1d4
bdev_strategy(c1d03788,ffffffff,0,2,c1d03788) at netbsd:bdev_strategy+0x2c
spec_strategy(d4476b50,2,c9c86000,c045e620,d3a31da8) at netbsd:spec_strategy+0x5
4
VOP_STRATEGY(d3a31da8,c1d03788,1,c9c86000,c167ee0c) at netbsd:VOP_STRATEGY+0x28
uvm_swap_io(4,d4476c18,10,0,c02b5e14) at netbsd:uvm_swap_io+0xd4
swapcluster_flush(c167edd0,1,c047f0f1,0,c0503a68) at netbsd:swapcluster_flush+0x
55
uvm_pageout(d3a33a80,0,c01002d2,fbff,c01002d2) at netbsd:uvm_pageout+0x3e9
db{0}> 

>How-To-Repeat:
	
>Fix:
	

>Unformatted: