2006-09-03 20:26:38

by Krzysztof Halasa

[permalink] [raw]
Subject: 2.6.18rc5: NFSd possible recursive locking

Hi,

another one (details available on request):

[ INFO: possible recursive locking detected ]
---------------------------------------------
nfsd/1566 is trying to acquire lock:
(&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20

but task is already holding lock:
(&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20

other info that might help us debug this:
2 locks held by nfsd/1566:
#0: (hash_sem){..--}, at: [<c01b292d>] exp_readlock+0xd/0x10
#1: (&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20

stack backtrace:
[<c0103522>] show_trace+0x12/0x20
[<c0103b79>] dump_stack+0x19/0x20
[<c012dfab>] __lock_acquire+0x8db/0xd70
[<c012e7b6>] lock_acquire+0x76/0xa0
[<c0334c06>] __mutex_lock_slowpath+0x66/0x250
[<c0334e0c>] mutex_lock+0x1c/0x20
[<c01afd1d>] nfsd_setattr+0x46d/0x5b0
[<c01b12da>] nfsd_create_v3+0x4da/0x540
[<c01b6574>] nfsd3_proc_create+0x104/0x170
[<c01ab7d8>] nfsd_dispatch+0x88/0x1e0
[<c03248d4>] svc_process+0x3f4/0x6e0
[<c01abce1>] nfsd+0x191/0x300
[<c0100c85>] kernel_thread_helper+0x5/0x10
--
Krzysztof Halasa

--
VGER BF report: U 0.502044


2006-09-04 13:58:45

by Dave Jones

[permalink] [raw]
Subject: Re: 2.6.18rc5: NFSd possible recursive locking

On Sun, Sep 03, 2006 at 10:26:35PM +0200, Krzysztof Halasa wrote:
> Hi,
>
> another one (details available on request):
>
> [ INFO: possible recursive locking detected ]
> ---------------------------------------------
> nfsd/1566 is trying to acquire lock:
> (&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20
>
> but task is already holding lock:
> (&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20

This one has been there for a month or so..
http://bugme.osdl.org/show_bug.cgi?id=6918

Dave

2006-09-05 06:20:18

by Peter Zijlstra

[permalink] [raw]
Subject: Re: 2.6.18rc5: NFSd possible recursive locking

On Sun, 2006-09-03 at 22:26 +0200, Krzysztof Halasa wrote:
> Hi,
>
> another one (details available on request):
>
> [ INFO: possible recursive locking detected ]
> ---------------------------------------------
> nfsd/1566 is trying to acquire lock:
> (&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20
>
> but task is already holding lock:
> (&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20
>
> other info that might help us debug this:
> 2 locks held by nfsd/1566:
> #0: (hash_sem){..--}, at: [<c01b292d>] exp_readlock+0xd/0x10
> #1: (&inode->i_mutex){--..}, at: [<c0334e0c>] mutex_lock+0x1c/0x20
>
> stack backtrace:
> [<c0103522>] show_trace+0x12/0x20
> [<c0103b79>] dump_stack+0x19/0x20
> [<c012dfab>] __lock_acquire+0x8db/0xd70
> [<c012e7b6>] lock_acquire+0x76/0xa0
> [<c0334c06>] __mutex_lock_slowpath+0x66/0x250
> [<c0334e0c>] mutex_lock+0x1c/0x20
> [<c01afd1d>] nfsd_setattr+0x46d/0x5b0
> [<c01b12da>] nfsd_create_v3+0x4da/0x540
> [<c01b6574>] nfsd3_proc_create+0x104/0x170
> [<c01ab7d8>] nfsd_dispatch+0x88/0x1e0
> [<c03248d4>] svc_process+0x3f4/0x6e0
> [<c01abce1>] nfsd+0x191/0x300
> [<c0100c85>] kernel_thread_helper+0x5/0x10

http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc5/2.6.18-rc5-mm1/broken-out/nfsd-lockdep-annotation.patch
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc5/2.6.18-rc5-mm1/broken-out/knfsd-nfsd-lockdep-annotation-fix.patch

Do those patches fix it?