2007-05-06 22:44:51

by Simon Arlott

[permalink] [raw]
Subject: xfs_ilock: possible recursive locking detected

[ 119.948000] =============================================
[ 119.948000] [ INFO: possible recursive locking detected ]
[ 119.948000] 2.6.21-git #185
[ 119.948000] ---------------------------------------------
[ 119.948000] cc1/6496 is trying to acquire lock:
[ 119.948000] (&(&ip->i_lock)->mr_lock){----}, at: [<b025d230>] xfs_ilock+0x60/0xb0
[ 119.948000]
[ 119.948000] but task is already holding lock:
[ 119.948000] (&(&ip->i_lock)->mr_lock){----}, at: [<b025d230>] xfs_ilock+0x60/0xb0
[ 119.948000]
[ 119.948000] other info that might help us debug this:
[ 119.948000] 2 locks held by cc1/6496:
[ 119.948000] #0: (&inode->i_mutex){--..}, at: [<b051585c>] mutex_lock+0x1c/0x20
[ 119.948000] #1: (&(&ip->i_lock)->mr_lock){----}, at: [<b025d230>] xfs_ilock+0x60/0xb0
[ 119.948000]
[ 119.948000] stack backtrace:
[ 119.948000] [<b0104f4a>] show_trace_log_lvl+0x1a/0x30
[ 119.948000] [<b0104f72>] show_trace+0x12/0x20
[ 119.948000] [<b0105086>] dump_stack+0x16/0x20
[ 119.948000] [<b013dcb7>] print_deadlock_bug+0xc7/0xe0
[ 119.948000] [<b013dd3b>] check_deadlock+0x6b/0x80
[ 119.948000] [<b013f772>] __lock_acquire+0x352/0xbb0
[ 119.948000] [<b0140452>] lock_acquire+0x62/0x80
[ 119.948000] [<b013825a>] down_write+0x3a/0x60
[ 119.948000] [<b025d230>] xfs_ilock+0x60/0xb0
[ 119.948000] [<b025c9c1>] xfs_iget_core+0x2a1/0x5f0
[ 119.948000] [<b025cdc1>] xfs_iget+0xb1/0x110
[ 119.948000] [<b02776a8>] xfs_trans_iget+0xa8/0x140
[ 119.948000] [<b025ef8f>] xfs_ialloc+0xaf/0x4c0
[ 119.948000] [<b02780fd>] xfs_dir_ialloc+0x6d/0x280
[ 119.948000] [<b027df19>] xfs_create+0x249/0x670
[ 119.948000] [<b0289b7a>] xfs_vn_mknod+0x20a/0x350
[ 119.948000] [<b0289cd2>] xfs_vn_create+0x12/0x20
[ 119.948000] [<b0174f26>] vfs_create+0xb6/0x100
[ 119.948000] [<b017518e>] open_namei_create+0x4e/0xa0
[ 119.948000] [<b0175733>] open_namei+0x553/0x590
[ 119.948000] [<b016b05c>] do_filp_open+0x2c/0x60
[ 119.948000] [<b016b3c0>] do_sys_open+0x50/0xe0
[ 119.948000] [<b016b46c>] sys_open+0x1c/0x20
[ 119.948000] [<b010416c>] sysenter_past_esp+0x5d/0x99
[ 119.948000] =======================

--
Simon Arlott


2007-05-08 02:33:00

by David Chinner

[permalink] [raw]
Subject: Re: xfs_ilock: possible recursive locking detected

On Sun, May 06, 2007 at 11:44:45PM +0100, Simon Arlott wrote:
> [ 119.948000] =============================================
> [ 119.948000] [ INFO: possible recursive locking detected ]
> [ 119.948000] 2.6.21-git #185
> [ 119.948000] ---------------------------------------------
> [ 119.948000] cc1/6496 is trying to acquire lock:
> [ 119.948000] (&(&ip->i_lock)->mr_lock){----}, at: [<b025d230>]
> xfs_ilock+0x60/0xb0
> [ 119.948000]
> [ 119.948000] but task is already holding lock:
> [ 119.948000] (&(&ip->i_lock)->mr_lock){----}, at: [<b025d230>]
> xfs_ilock+0x60/0xb0
> [ 119.948000]

Known false positive. There shoul dbe a git update for Linus in the
next couple of days that has the lockdep annotations needed to prevent
these false positives from coming up....

Cheers,

Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group