NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/44240: puffs deadlock when a file system server died
>Number: 44240
>Category: kern
>Synopsis: puffs deadlock when a file system server died
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Dec 16 04:30:00 +0000 2010
>Originator: YAMAMOTO Takashi
>Release: NetBSD 5.99.41
>Organization:
>Environment:
Architecture: i386
Machine: i386
>Description:
puffs often deadlock when a file system server died.
the server is using PUFFS_KFLAG_NOCACHE_NAME|PUFFS_KFLAG_WTCACHE
if it matters.
the following is the file system server dying due to an assertion failure.
(gdb) bt
#0 0xc02adf36 in mi_switch (l=0xd7384a80)
at /siro/nbsd/src/sys/kern/kern_synch.c:790
#1 0xc02aac5b in sleepq_block (timo=0, catch=false)
at /siro/nbsd/src/sys/kern/kern_sleepq.c:262
#2 0xc02b9c9d in turnstile_block (ts=0xd7cab758, q=1, obj=0xdf258fcc,
sobj=0xc05e357c) at /siro/nbsd/src/sys/kern/kern_turnstile.c:343
#3 0xc02a632e in rw_vector_enter (rw=0xdf258fcc, op=RW_WRITER)
at /siro/nbsd/src/sys/kern/kern_rwlock.c:391
#4 0xc01e73af in genfs_lock (v=0xd737394c)
at /siro/nbsd/src/sys/miscfs/genfs/genfs_vnops.c:300
#5 0xc04e1af8 in VOP_LOCK (vp=0xdf258f2c, flags=2)
at /siro/nbsd/src/sys/kern/vnode_if.c:1103
#6 0xc04c7c49 in vclean (vp=0xdf258f2c, flags=8)
at /siro/nbsd/src/sys/kern/vfs_subr.c:1854
#7 0xc04cb465 in vflush (mp=0xd750e004, skipvp=0x0,
flags=<value optimized out>) at /siro/nbsd/src/sys/kern/vfs_subr.c:1782
#8 0xd734a1f6 in puffs_vfsop_unmount ()
#9 0xc04c5b66 in VFS_UNMOUNT (mp=0xd750e004, a=524288)
at /siro/nbsd/src/sys/kern/vfs_subr.c:3001
#10 0xc04cfe0c in dounmount (mp=0xd750e004, flags=524288, l=0xd7384a80)
at /siro/nbsd/src/sys/kern/vfs_syscalls.c:776
#11 0xd7348153 in puffs_msgif_close ()
#12 0xd72be585 in putter_fop_close ()
#13 0xc02844ed in closef (fp=0xd6f805c0)
at /siro/nbsd/src/sys/kern/kern_descrip.c:794
#14 0xc0284dfe in fd_close (fd=4) at /siro/nbsd/src/sys/kern/kern_descrip.c:679
#15 0xc0285afc in fd_free () at /siro/nbsd/src/sys/kern/kern_descrip.c:1529
#16 0xc028e23c in exit1 (l=0xd7384a80, rv=134)
at /siro/nbsd/src/sys/kern/kern_exit.c:284
#17 0xc02a97bb in sigexit (l=0xd7384a80, signo=6)
at /siro/nbsd/src/sys/kern/kern_sig.c:2205
#18 0xc02a9a5d in postsig (signo=6) at /siro/nbsd/src/sys/kern/kern_sig.c:2002
#19 0xc02969e8 in lwp_userret (l=0xd7384a80)
at /siro/nbsd/src/sys/kern/kern_lwp.c:1395
#20 0xc0429f56 in syscall (frame=0xd7373d48)
at /siro/nbsd/src/sys/sys/userret.h:90
#21 0xc01005cd in syscall1 ()
the following is an owner of the lock 0xdf258fcc.
(gdb) bt
#0 0xc02adf36 in mi_switch (l=0xd8713aa0)
at /siro/nbsd/src/sys/kern/kern_synch.c:790
#1 0xc02aac5b in sleepq_block (timo=0, catch=false)
at /siro/nbsd/src/sys/kern/kern_sleepq.c:262
#2 0xc02af35d in mtsleep (ident=0xc351de68, priority=516,
wmesg=0xc0588d92 "genput", timo=0, mtx=0xdf258f2c)
at /siro/nbsd/src/sys/kern/kern_synch.c:240
#3 0xc01e62c8 in genfs_do_putpages (vp=0xdf258f2c, startoff=1343488,
endoff=1347584, origflags=<value optimized out>, busypg=0x0)
at /siro/nbsd/src/sys/miscfs/genfs/genfs_io.c:1013
#4 0xc01e699d in genfs_putpages (v=0xd8ef8b1c)
at /siro/nbsd/src/sys/miscfs/genfs/genfs_io.c:810
#5 0xc04e1603 in VOP_PUTPAGES (vp=0xdf258f2c, offlo=1343488, offhi=1347584,
flags=1) at /siro/nbsd/src/sys/kern/vnode_if.c:1429
#6 0xd734d8dc in puffs_vnop_write ()
#7 0xd734b510 in puffs_vnop_checkop ()
#8 0xc04e23d4 in VOP_WRITE (vp=0xdf258f2c, uio=0xd8ef8c7c, ioflag=16,
cred=0xd6d390c0) at /siro/nbsd/src/sys/kern/vnode_if.c:431
#9 0xc04d233c in vn_write (fp=0xd8c60780, offset=0xd8c60780, uio=0xd8ef8c7c,
cred=0xd6d390c0, flags=1) at /siro/nbsd/src/sys/kern/vfs_vnops.c:566
#10 0xc041d845 in dofilewrite (fd=3, fp=0x0, buf=0xbb90e000, nbyte=45,
offset=0xd8c60780, flags=1, retval=0xd8ef8d28)
at /siro/nbsd/src/sys/kern/sys_generic.c:356
#11 0xc041d96f in sys_write (l=0xd8713aa0, uap=0xd8ef8d00, retval=0xd8ef8d28)
at /siro/nbsd/src/sys/kern/sys_generic.c:324
#12 0xc0429e94 in syscall (frame=0xd8ef8d48)
at /siro/nbsd/src/sys/sys/syscallvar.h:61
#13 0xc01005cd in syscall1 ()
(gdb) p *(struct vnode *)0xdf258f2c
$16 = {v_uobj = {vmobjlock = {u = {mtxa_owner = 0}}, pgops = 0xc056d128,
memq = {tqh_first = 0xc0b86448, tqh_last = 0xc351de7c}, uo_npages = 329,
uo_refs = 2, rb_tree = {rbt_root = 0xc31a49f8, rbt_ops = 0xc056cf80,
rbt_minmax = {0xc0b86448, 0xc351de68}}}, v_cv = {cv_opaque = {0x0,
0xdf258f54, 0xc05acc41}}, v_size = 1345503, v_writesize = 1345503,
v_iflag = 20480, v_vflag = 0, v_uflag = 0, v_numoutput = 2,
v_writecount = 1, v_holdcnt = 1, v_synclist_slot = 22, v_mount = 0xd750e004,
v_op = 0xd6f37ee4, v_freelist = {tqe_next = 0xd9af2648,
tqe_prev = 0xc05ea3d8}, v_freelisthd = 0x0, v_mntvnodes = {
tqe_next = 0xd7a470e4, tqe_prev = 0xd750e00c}, v_cleanblkhd = {
lh_first = 0x0}, v_dirtyblkhd = {lh_first = 0x0}, v_synclist = {
tqe_next = 0x0, tqe_prev = 0xd5ab0d54}, v_dnclist = {lh_first = 0x0},
v_nclist = {lh_first = 0x0}, v_un = {vu_mountedhere = 0x0, vu_socket = 0x0,
vu_specnode = 0x0, vu_fifoinfo = 0x0, vu_ractx = 0x0}, v_type = VREG,
v_tag = VT_PUFFS, v_lock = {rw_owner = 3631299239}, v_data = 0xde314444,
v_klist = {slh_first = 0x0}}
>How-To-Repeat:
>Fix:
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index