Skip site navigation (1)Skip section navigation (2)
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>