On Thu, 2005-06-02 at 17:46 -0400, Steve Grubb wrote:
The information I was able to collect is:
EIP: 0xf0888105
EIP is at ext3_put_super
process unmount (pid 3380
I've now reproduced this with a serial console attached. This part of
the output would have been more useful:
Assertion failure in ext3_put_super() at fs/ext3/super.c:425:
"list_empty(&sbi->s_orphan)"
------------[ cut here ]------------
kernel BUG at fs/ext3/super.c:425!
Checking gdb for EIP shows an invalid address.
You don't really need to look up the line number for a BUG(), because it
tells you. But for reference: that EIP was in a module, so you have to
look at that module for debugging information instead of vmlinux, and
use the address relative to the (unrelocated) function rather than the
absolute address.
(gdb) list *ext3_put_super+0xf2
0x9c1a is in ext3_put_super (fs/ext3/super.c:425).
420 * isn't empty. The on-disk one can be non-empty if we've
421 * detected an error and taken the fs readonly, but the
422 * in-memory list had better be clean by this point. */
423 if (!list_empty(&sbi->s_orphan))
424 dump_orphan_list(sb, sbi);
425 J_ASSERT(list_empty(&sbi->s_orphan));
426
427 invalidate_bdev(sb->s_bdev, 0);
428 if (sbi->journal_bdev && sbi->journal_bdev != sb->s_bdev)
{
429 /*
--
dwmw2