On Sat, Oct 19, 2013 at 05:54:22PM +0200, Sébastien Marie wrote:
> Hi,
>
> I fall in a system problem using tmux: the system (OpenBSD -current
> on i386) freeze (but no panic).
>
The freeze seems to be a dead-lock, and tmux expose it.
ddb> ps
PID PPID PGRP UID S FLAGS WAIT COMMAND
[...]
13243 1 13243 0 3 0 inode tmux
[...]
Here, tmux is waiting "inode".
This wait message is set here:
ufs/ext2fs/ext2fs_vfsops.c
831: lockinit(&ip->i_lock, PINOD, "inode", 0, 0);
ufs/ffs/ffs_vfsops.c
1257: lockinit(&ip->i_lock, PINOD, "inode", 0, 0);
And if I let the system running, several others process fall in
"inode" waiting (as cron, or login_passwd if I try login).
With ddb, if I check locked vnodes, there are two on root partition.
ddb> show all mounts
flags 50000<LOCAL,ROOTFS>
vnodecovered 0x0 syncer 0xd316aa60 data 0xd108a200
vfsconf: ops 0xd098d7a0 name "ffs" num 1 ref 3 flags 0x1000
statvfs cache: bsize 800 iosize 4000
blocks 403383 free 375320 avail 355151
files 102910 ffiles 100646 favail 100646
f_fsidx {0x400, 0xc8a5ad54} owner 0 ctime 0x52640b1d
syncwrites 325 asyncwrites = 340
syncreads 8881 asyncreads = 0
fstype "ffs" mnton "/" mntfrom "/dev/sd0a" mntspec "ab8fcda4850f14e9.a"
locked vnodes:
0xd3165ea8, 0xd316a310
[... others partitions stripped ...]
ddb> show vnode 0xd3165ea8
tag UFS(1) type VCHR(4) mount 0xd108b400 typedata 0xd0ffb100
data 0xd3161298 usecount 2 writecount 0 holdcnt 0 numoutput 0
ddb> show vnode 0xd316a310
tag UFS(1) type VDIR(2) mount 0xd108b400 typedata 0x0
data 0xd31851ec usecount 1 writecount 0 holdcnt 3 numoutput 0
Does someone have any clue, about what to check or how to debug this ?
I think I will try the option VFSLCKDEBUG in kernel, but what else ?
--
Sébastien Marie