Date: Mon, 17 Dec 2001 22:58:39 +0100 (CET) From: Martin Blapp <mb@imp.ch> To: Matthew Dillon <dillon@apollo.backplane.com>, <tmm@freebsd.org> Cc: <freebsd-hackers@freebsd.org> Subject: Re: deadlock with softupdates ? Message-ID: <20011217225006.T59342-100000@levais.imp.ch> In-Reply-To: <200112172141.fBHLfSc33112@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Do a ps -axl -M vmcore.X -N kernel.X on the kernel core, > pick out all the processes blocked on inode or whatever, inode ps -axl -M vmcore.0 -N /usr/src/sys/compile/NEWS/kernel.debug | grep inode 8 293 290 0 -14 0 3644 0 inode D #C5- 0:49.73 (perl) 0 2 0 0 -14 0 0 0 inode DL ?? 0:36.22 (pagedaemon) 8 288 1 0 -14 0 133420 0 inode DLs ?? 28:25.45 (innd) 8 13771 288 0 -14 4 2072 0 inode DN ?? 0:00.01 (nnrpd) 8 13775 288 0 -14 4 2128 0 inode DN ?? 0:00.01 (nnrpd) 8 13779 288 0 -14 4 2120 0 inode DN ?? 0:00.01 (nnrpd) 8 13781 288 0 -14 4 45968 0 inode DN ?? 0:00.01 (nnrpd) > then from gdb go to each process (proc N) and do a backtrace > (back). (kgdb) defproc 288 288 d78cd0c0 d788e000 8 1 288 000005 3 innd inode c2c0c200 frame 0 at 0xd7890d8c: ebp d7890db8, eip 0xc017a529 <tsleep+417>: mov 0x141(%ebx),%al frame 1 at 0xd7890db8: ebp d7890ddc, eip 0xc0171c24 <acquire+140>: mov %eax,%esi frame 2 at 0xd7890ddc: ebp d7890e00, eip 0xc0171cd4 <lockmgr+116>: mov %eax,%edi frame 3 at 0xd7890e00: ebp d7890e18, eip 0xc01a2008 <vop_stdunlock+12>: jmp 0xc01a200e <vop_stdunlo> frame 4 at 0xd7890e18: ebp d7890e24, eip 0xc022e44d <default_pager_alloc+1>: leave frame 5 at 0xd7890e24: ebp d7890e4c, eip 0xc01ac04b <vn_lock+155>: add $0x4,%esp frame 6 at 0xd7890e4c: ebp d7890e68, eip 0xc01a4e18 <vget+148>: mov %eax,%esi frame 7 at 0xd7890e68: ebp d7890e84, eip 0xc023d038 <zinitna+24>: add $0xc,%esp frame 8 at 0xd7890e84: ebp d7890f34, eip 0xc023060c <vm_fault+344>: mov %eax,0xffffffbc(%ebp) frame 9 at 0xd7890f34: ebp d7890f5c, eip 0xc0284b9e <trap_pfault+118>: mov %eax,% (kgdb) defproc 293 293 d78cd0c0 d7888000 8 290 6 004006 3 perl inode c1f87400 frame 0 at 0xd788abe8: ebp d788ac14, eip 0xc017a529 <tsleep+417>: mov 0x141(%ebx),%al frame 1 at 0xd788ac14: ebp d788ac38, eip 0xc0171c24 <acquire+140>: mov %eax,%esi frame 2 at 0xd788ac38: ebp d788ac5c, eip 0xc0171e88 <lockmgr+552>: mov %eax,%edi frame 3 at 0xd788ac5c: ebp d788ac74, eip 0xc01a2008 <vop_stdunlock+12>: jmp 0xc01a200e <vop_stdunlo> frame 4 at 0xd788ac74: ebp d788ac80, eip 0xc022e44d <default_pager_alloc+1>: leave frame 5 at 0xd788ac80: ebp d788aca8, eip 0xc01ac04b <vn_lock+155>: add $0x4,%esp frame 6 at 0xd788aca8: ebp d788acc4, eip 0xc01a4e18 <vget+148>: mov %eax,%esi frame 7 at 0xd788acc4: ebp d788ace8, eip 0xc02290d4 <ufs_ihashins+20>: add $0xc,%esp frame 8 at 0xd788ace8: ebp d788ad20, eip 0xc02265de <ffs_vget+62>: mov 0x10(%ebp),%ecx frame 9 at 0xd788ad20: ebp d788ad38, eip 0xc022b964 <ufs_init+24>: test %eax,%eax frame 10 at 0xd788ad38: ebp d788ad84, eip 0xc01a32b6 <lookup+994>: mov %eax,0xffffffd8(%ebp) frame 11 at 0xd788ad84: ebp d788add8, eip 0xc01a2c74 <namei+368>: mov %eax,%ebx frame 12 at 0xd788add8: ebp d788ae74, eip 0xc01ab45f <vn_open+487>: mov %eax,%ebx frame 13 at 0xd788ae74: ebp d788af2c, eip 0xc01a7568 <open+204>: mov %eax,%ebx frame 14 at 0xd788af2c: ebp d788afa0, eip 0xc028520d <syscall2+465>: mov %eax,0xffffffb8(%ebp) (kgdb) defproc 13771 13771 d78cd0c0 d7c16000 8 288 288 004004 3 nnrpd inode c2024b00 frame 0 at 0xd7c18c08: ebp d7c18c34, eip 0xc017a529 <tsleep+417>: mov 0x141(%ebx),%al frame 1 at 0xd7c18c34: ebp d7c18c58, eip 0xc0171c24 <acquire+140>: mov %eax,%esi frame 2 at 0xd7c18c58: ebp d7c18c7c, eip 0xc0171ea5 <lockmgr+581>: mov %eax,%edi frame 3 at 0xd7c18c7c: ebp d7c18c94, eip 0xc01a2008 <vop_stdunlock+12>: jmp 0xc01a200e <vop_stdunlo> frame 4 at 0xd7c18c94: ebp d7c18ca0, eip 0xc022e44d <default_pager_alloc+1>: leave frame 5 at 0xd7c18ca0: ebp d7c18cc8, eip 0xc01ac04b <vn_lock+155>: add $0x4,%esp frame 6 at 0xd7c18cc8: ebp d7c18ce4, eip 0xc01a4e18 <vget+148>: mov %eax,%esi frame 7 at 0xd7c18ce4: ebp d7c18d30, eip 0xc01a01b3 <vfs_cache_lookup+431>: mov %eax,%ebx frame 8 at 0xd7c18d30: ebp d7c18d3c, eip 0xc022e44d <default_pager_alloc+1>: leave frame 9 at 0xd7c18d3c: ebp d7c18d84, eip 0xc01a3179 <lookup+677>: mov %eax,0xffffffd8(%ebp) frame 10 at 0xd7c18d84: ebp d7c18dd8, eip 0xc01a2c74 <namei+368>: mov %eax,%ebx frame 11 at 0xd7c18dd8: ebp d7c18e74, eip 0xc01ab45f <vn_open+487>: mov %eax,%ebx frame 12 at 0xd7c18e74: ebp d7c18f2c, eip 0xc01a7568 <open+204>: mov %eax,%ebx frame 13 at 0xd7c18f2c: ebp d7c18fa0, eip 0xc028520d <syscall2+465>: mov %eax,0xffffffb8(%ebp) (kgdb) defproc 13775 13775 d78cd0c0 d7b17000 8 288 288 004004 3 nnrpd inode c1f87400 frame 0 at 0xd7b19c7c: ebp d7b19ca8, eip 0xc017a529 <tsleep+417>: mov 0x141(%ebx),%al frame 1 at 0xd7b19ca8: ebp d7b19ccc, eip 0xc0171c24 <acquire+140>: mov %eax,%esi frame 2 at 0xd7b19ccc: ebp d7b19cf0, eip 0xc0171e88 <lockmgr+552>: mov %eax,%edi frame 3 at 0xd7b19cf0: ebp d7b19d08, eip 0xc01a2008 <vop_stdunlock+12>: jmp 0xc01a200e <vop_stdunlo> frame 4 at 0xd7b19d08: ebp d7b19d14, eip 0xc022e44d <default_pager_alloc+1>: leave frame 5 at 0xd7b19d14: ebp d7b19d3c, eip 0xc01ac04b <vn_lock+155>: add $0x4,%esp frame 6 at 0xd7b19d3c: ebp d7b19d58, eip 0xc01a4e18 <vget+148>: mov %eax,%esi frame 7 at 0xd7b19d58: ebp d7b19d7c, eip 0xc02290d4 <ufs_ihashins+20>: add $0xc,%esp frame 8 at 0xd7b19d7c: ebp d7b19db4, eip 0xc02265de <ffs_vget+62>: mov 0x10(%ebp),%ecx frame 9 at 0xd7b19db4: ebp d7b19dcc, eip 0xc022b964 <ufs_init+24>: test %eax,%eax frame 10 at 0xd7b19dcc: ebp d7b19e18, eip 0xc01a32b6 <lookup+994>: mov %eax,0xffffffd8(%ebp) frame 11 at 0xd7b19e18: ebp d7b19e6c, eip 0xc01a2c74 <namei+368>: mov %eax,%ebx frame 12 at 0xd7b19e6c: ebp d7b19f2c, eip 0xc01a86b5 <stat+85>: mov %eax,%ebx frame 13 at 0xd7b19f2c: ebp d7b19fa0, eip 0xc028520d <syscall2+465>: mov %eax,0xffffffb8(%ebp) (kgdb) defproc 13779 13779 d78cd0c0 d7b7f000 8 288 288 004004 3 nnrpd inode c1f87400 frame 0 at 0xd7b81be8: ebp d7b81c14, eip 0xc017a529 <tsleep+417>: mov 0x141(%ebx),%al frame 1 at 0xd7b81c14: ebp d7b81c38, eip 0xc0171c24 <acquire+140>: mov %eax,%esi frame 2 at 0xd7b81c38: ebp d7b81c5c, eip 0xc0171e88 <lockmgr+552>: mov %eax,%edi frame 3 at 0xd7b81c5c: ebp d7b81c74, eip 0xc01a2008 <vop_stdunlock+12>: jmp 0xc01a200e <vop_stdunlo> frame 4 at 0xd7b81c74: ebp d7b81c80, eip 0xc022e44d <default_pager_alloc+1>: leave frame 5 at 0xd7b81c80: ebp d7b81ca8, eip 0xc01ac04b <vn_lock+155>: add $0x4,%esp frame 6 at 0xd7b81ca8: ebp d7b81cc4, eip 0xc01a4e18 <vget+148>: mov %eax,%esi frame 7 at 0xd7b81cc4: ebp d7b81ce8, eip 0xc02290d4 <ufs_ihashins+20>: add $0xc,%esp frame 8 at 0xd7b81ce8: ebp d7b81d20, eip 0xc02265de <ffs_vget+62>: mov 0x10(%ebp),%ecx frame 9 at 0xd7b81d20: ebp d7b81d38, eip 0xc022b964 <ufs_init+24>: test %eax,%eax frame 10 at 0xd7b81d38: ebp d7b81d84, eip 0xc01a32b6 <lookup+994>: mov %eax,0xffffffd8(%ebp) frame 11 at 0xd7b81d84: ebp d7b81dd8, eip 0xc01a2c74 <namei+368>: mov %eax,%ebx frame 12 at 0xd7b81dd8: ebp d7b81e74, eip 0xc01ab45f <vn_open+487>: mov %eax,%ebx frame 13 at 0xd7b81e74: ebp d7b81f2c, eip 0xc01a7568 <open+204>: mov %eax,%ebx frame 14 at 0xd7b81f2c: ebp d7b81fa0, eip 0xc028520d <syscall2+465>: mov %eax,0xffffffb8(%ebp) (kgdb) defproc 13781 13781 d78cd0c0 d7911000 8 288 288 004004 3 nnrpd inode c2024c00 frame 0 at 0xd7913c08: ebp d7913c34, eip 0xc017a529 <tsleep+417>: mov 0x141(%ebx),%al frame 1 at 0xd7913c34: ebp d7913c58, eip 0xc0171c24 <acquire+140>: mov %eax,%esi frame 2 at 0xd7913c58: ebp d7913c7c, eip 0xc0171e88 <lockmgr+552>: mov %eax,%edi frame 3 at 0xd7913c7c: ebp d7913c94, eip 0xc01a2008 <vop_stdunlock+12>: jmp 0xc01a200e <vop_stdunlo> frame 4 at 0xd7913c94: ebp d7913ca0, eip 0xc022e44d <default_pager_alloc+1>: leave frame 5 at 0xd7913ca0: ebp d7913cc8, eip 0xc01ac04b <vn_lock+155>: add $0x4,%esp frame 6 at 0xd7913cc8: ebp d7913ce4, eip 0xc01a4e18 <vget+148>: mov %eax,%esi frame 7 at 0xd7913ce4: ebp d7913d30, eip 0xc01a01b3 <vfs_cache_lookup+431>: mov %eax,%ebx frame 8 at 0xd7913d30: ebp d7913d3c, eip 0xc022e44d <default_pager_alloc+1>: leave frame 9 at 0xd7913d3c: ebp d7913d84, eip 0xc01a3179 <lookup+677>: mov %eax,0xffffffd8(%ebp) frame 10 at 0xd7913d84: ebp d7913dd8, eip 0xc01a2c74 <namei+368>: mov %eax,%ebx frame 11 at 0xd7913dd8: ebp d7913e74, eip 0xc01ab45f <vn_open+487>: mov %eax,%ebx frame 12 at 0xd7913e74: ebp d7913f2c, eip 0xc01a7568 <open+204>: mov %eax,%ebx frame 13 at 0xd7913f2c: ebp d7913fa0, eip 0xc028520d <syscall2+465>: mov %eax,0xffffffb8(%ebp) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011217225006.T59342-100000>