Circular locking on rawhide 2.6.31-0.81.rc3.git4
Prarit Bhargava
prarit at redhat.com
Mon Jul 27 12:51:53 CDT 2009
Hello everyone,
This was seen while doing a "rpmbuild -bp kernel.spec" on a recent
rawhide build.
=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.31-0.81.rc3.git4.fc12.x86_64 #1
-------------------------------------------------------
rpm/4790 is trying to acquire lock:
(&(&ip->i_iolock)->mr_lock){++++++}, at: [<ffffffffa0037e98>]
xfs_ilock+0x3f/0xa7 [xfs]
but task is already holding lock:
(&mm->mmap_sem){++++++}, at: [<ffffffff81118782>] sys_munmap+0x4b/0x86
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (&mm->mmap_sem){++++++}:
[<ffffffff810954b4>] __lock_acquire+0xa79/0xc0e
[<ffffffff81095737>] lock_acquire+0xee/0x12e
[<ffffffff8110fe5d>] might_fault+0x9e/0xd9
[<ffffffff810f5dc7>] file_read_actor+0xdf/0x137
[<ffffffff810f8a4e>] generic_file_aio_read+0x321/0x52f
[<ffffffffa0060350>] xfs_read+0x190/0x214 [xfs]
[<ffffffffa005bbda>] xfs_file_aio_read+0x77/0x8d [xfs]
[<ffffffff8113caa8>] do_sync_read+0xfa/0x14b
[<ffffffff8113d266>] vfs_read+0xba/0x12b
[<ffffffff8113d3c9>] sys_read+0x59/0x91
[<ffffffff81012f42>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff
-> #0 (&(&ip->i_iolock)->mr_lock){++++++}:
[<ffffffff81095391>] __lock_acquire+0x956/0xc0e
[<ffffffff81095737>] lock_acquire+0xee/0x12e
[<ffffffff81083f9e>] down_write_nested+0x61/0xac
[<ffffffffa0037e98>] xfs_ilock+0x3f/0xa7 [xfs]
[<ffffffffa0053a64>] xfs_free_eofblocks+0x126/0x238 [xfs]
[<ffffffffa0054594>] xfs_release+0x150/0x173 [xfs]
[<ffffffffa005ba24>] xfs_file_release+0x28/0x40 [xfs]
[<ffffffff8113e515>] __fput+0x137/0x1f8
[<ffffffff8113e603>] fput+0x2d/0x43
[<ffffffff81117019>] remove_vma+0x67/0xb5
[<ffffffff81118701>] do_munmap+0x305/0x33b
[<ffffffff81118790>] sys_munmap+0x59/0x86
[<ffffffff81012f42>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff
other info that might help us debug this:
1 lock held by rpm/4790:
#0: (&mm->mmap_sem){++++++}, at: [<ffffffff81118782>] sys_munmap+0x4b/0x86
stack backtrace:
Pid: 4790, comm: rpm Not tainted 2.6.31-0.81.rc3.git4.fc12.x86_64 #1
Call Trace:
[<ffffffff81094674>] print_circular_bug_tail+0x80/0x9f
[<ffffffff8109459f>] ? check_noncircular+0x93/0xe8
[<ffffffff81095391>] __lock_acquire+0x956/0xc0e
[<ffffffff81095737>] lock_acquire+0xee/0x12e
[<ffffffffa0037e98>] ? xfs_ilock+0x3f/0xa7 [xfs]
[<ffffffffa0037e98>] ? xfs_ilock+0x3f/0xa7 [xfs]
[<ffffffff81083f9e>] down_write_nested+0x61/0xac
[<ffffffffa0037e98>] ? xfs_ilock+0x3f/0xa7 [xfs]
[<ffffffffa0037e98>] xfs_ilock+0x3f/0xa7 [xfs]
[<ffffffffa0053a64>] xfs_free_eofblocks+0x126/0x238 [xfs]
[<ffffffffa0054594>] xfs_release+0x150/0x173 [xfs]
[<ffffffffa005ba24>] xfs_file_release+0x28/0x40 [xfs]
[<ffffffff8113e515>] __fput+0x137/0x1f8
[<ffffffff8113e603>] fput+0x2d/0x43
[<ffffffff81117019>] remove_vma+0x67/0xb5
[<ffffffff81118701>] do_munmap+0x305/0x33b
[<ffffffff81118782>] ? sys_munmap+0x4b/0x86
[<ffffffff81118790>] sys_munmap+0x59/0x86
[<ffffffff81012f42>] system_call_fastpath+0x16/0x1b
P.
More information about the xfs
mailing list