spinlock recursion bug (2.6.17rc3)

From: Dave Jones
Date: Wed May 03 2006 - 20:30:58 EST


I was moving a 1.2G file over an NFS mount, and wondered why
it had stalled making no progress. Then my X session locked up
completely, however I was able to ssh in.
running free showed that it was *really* low on memory, yet
there was a ton of stuff in buffers/caches.

It sat there spinning for about 10 minutes making no progress at all
In desperation, I tried throwing away those caches with..

echo 3 > /proc/sys/vm/drop_caches

And then got this over serial console before the box locked up completely.

BUG: spinlock cpu recursion on CPU#1, rhythmbox/31182
lock: ffffffff80547e80, .magic: dead4ead, .owner: bash/32124, .owner_cpu: 1

Call Trace: <ffffffff80213a52>{spin_bug+176} <ffffffff802cb822>{bdev_test+0}
<ffffffff80207827>{_raw_spin_lock+88} <ffffffff8025db4d>{ifind+35}
<ffffffff802d0928>{iget5_locked+112} <ffffffff802ca848>{bdev_set+0}
<ffffffff802cb67e>{blkdev_open+0} <ffffffff802cafbc>{bdget+63}
<ffffffff802cb53e>{bd_acquire+71} <ffffffff802cb691>{blkdev_open+19}
<ffffffff8021ed42>{__dentry_open+217} <ffffffff80227e8f>{do_filp_open+42} <ffffffff8020c255>{cache_alloc_debugcheck_after+307}
<ffffffff802163e2>{get_unused_fd+249} <ffffffff8021a394>{do_sys_open+68}
<ffffffff80261bc1>{tracesys+209}

On reboot, I tried to repeat the same operation, and it worked just fine.
Hrmph.

Dave

--
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/