xfs
[Top] [All Lists]

lock checking feedback (bug?) 2.6.20(xfs)/i386 during boot

To: xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: lock checking feedback (bug?) 2.6.20(xfs)/i386 during boot
From: Linda Walsh <xfs@xxxxxxxxx>
Date: Sun, 18 Feb 2007 13:38:45 -0800
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)
Turned on lock testing/proving/deadlock detection. Not chasing any particular
problem, but looking for things "oddities".

Turned on options (under kernel hacking):
  Locking API boot-time self-tests
  RT Mutex debugging, deadlock detection
  Lock debugging: prove locking correctness

Multiple reboots show it to be a constant.
I had tried the new "Asynchronous SCSI scanning" -- thought that might have been
related, but turning it off makes no difference.

I'm guessing this "error" has been present before this, but the lock
proving algorithms are bringing it to light?  So I don't know how serious
this is (if it is anything), but at the least, it doesn't look too clean...


Maybe that
....
SCSI device sda: write cache: enabled, read cache: enabled, supports DPO and FUA
sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 >
sd 0:0:0:0: Attached scsi disk sda
UDF-fs: No VRS found
XFS mounting filesystem sda3
Ending clean XFS mount for filesystem: sda3
VFS: Mounted root (xfs filesystem) readonly.
Freeing unused kernel memory: 316k freed

=============================================
[ INFO: possible recursive locking detected ]
2.6.20 #3
---------------------------------------------
rm/682 is trying to acquire lock:
(&(&ip->i_lock)->mr_lock){----}, at: [<b024068d>] xfs_ilock+0x7d/0xb0

but task is already holding lock:
(&(&ip->i_lock)->mr_lock){----}, at: [<b024068d>] xfs_ilock+0x7d/0xb0

other info that might help us debug this:
3 locks held by rm/682:
#0:  (&inode->i_mutex/1){--..}, at: [<b016f946>] do_unlinkat+0x96/0x170
#1:  (&inode->i_mutex){--..}, at: [<b016db9a>] vfs_unlink+0x5a/0xd0
#2:  (&(&ip->i_lock)->mr_lock){----}, at: [<b024068d>] xfs_ilock+0x7d/0xb0

stack backtrace:
[<b013aaf1>] __lock_acquire+0xaf1/0xdf0
[<b013ae47>] lock_acquire+0x57/0x70
[<b024068d>] xfs_ilock+0x7d/0xb0
[<b0135d7f>] down_write+0x2f/0x50
[<b024068d>] xfs_ilock+0x7d/0xb0
[<b024068d>] xfs_ilock+0x7d/0xb0
[<b025ff2d>] xfs_lock_dir_and_entry+0xfd/0x100
[<b0263c68>] xfs_remove+0x198/0x4e0
[<b025fff6>] xfs_access+0x26/0x50
[<b025fff6>] xfs_access+0x26/0x50
[<b016db9a>] vfs_unlink+0x5a/0xd0
[<b026d8f3>] xfs_vn_unlink+0x23/0x60
[<b0417f72>] __mutex_lock_slowpath+0x152/0x2a0
[<b01398bb>] mark_held_locks+0x6b/0x90
[<b0417f72>] __mutex_lock_slowpath+0x152/0x2a0
[<b0417f72>] __mutex_lock_slowpath+0x152/0x2a0
[<b0139a67>] trace_hardirqs_on+0xc7/0x170
[<b0417f65>] __mutex_lock_slowpath+0x145/0x2a0
[<b016db9a>] vfs_unlink+0x5a/0xd0
[<b016d077>] permission+0x137/0x140
[<b016dbd0>] vfs_unlink+0x90/0xd0
[<b016f983>] do_unlinkat+0xd3/0x170
[<b0113807>] do_page_fault+0x327/0x630
[<b0102fda>] sysenter_past_esp+0x5f/0x99
=======================
XFS mounting filesystem sda1
Ending clean XFS mount for filesystem: sda1


<Prev in Thread] Current Thread [Next in Thread>