I meet a problem

Artem Bityutskiy dedekind1 at gmail.com
Mon Apr 4 10:34:14 EDT 2011


On Sat, 2011-04-02 at 02:20 +0000, Caizhiyong wrote:
> write disk 15091695 file 40023umount: tmpfs busy - remounted read-only
> write disk 15131718 file 40076UBIFS error (pid 11300):
> dbg_check_space_info: free space changed from 424404213 to 424396165

Too bad you did not send the dmesg output, as it is described in the
"how to send UBIFS bug report" here:

http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport

Anyway, yes, I confirm that this very first error in
'dbg_check_space_info()' is false alarm. I'll send a fix for this soon.
But my fix is against the current ubifs-2.6.git tree, although you
should be able to port it to 2.6.38 tree.

> UBIFS: saved lprops statistics dump
> UBIFS: current lprops statistics dump
> UBIFS assert failed in dbg_dump_budg at 613 (pid 11300)

However this is _very_ strange. This assertion is:

ubifs_assert(spin_is_locked(&c->space_lock));

and if I look at 'dbg_check_space_info()' I see that it must be locked:

spin_lock(&c->space_lock);
dbg_dump_budg(c);
spin_unlock(&c->space_lock);

So the second assertion and the subsequent oopses are really really
strange. Could you try to emulate the error case in
'dbg_check_space_info()' and check how the subsequent assertion may
happen?

> [<c00284bc>] (unwind_backtrace+0x0/0xfc) from [<c018a770>] (dbg_dump_budg+0x220/0x2dc)
> [<c018a770>] (dbg_dump_budg+0x220/0x2dc) from [<c018a8dc>] (dbg_check_space_info+0xb0/0xc0)
> [<c018a8dc>] (dbg_check_space_info+0xb0/0xc0) from [<c015b4ac>] (ubifs_remount_fs+0x428/0x8dc)
> [<c015b4ac>] (ubifs_remount_fs+0x428/0x8dc) from [<c00949b0>] (do_remount_sb+0x6c/0x11c)
> [<c00949b0>] (do_remount_sb+0x6c/0x11c) from [<c00aae00>] (do_mount+0x468/0x708)
> [<c00aae00>] (do_mount+0x468/0x708) from [<c00ab124>] (sys_mount+0x84/0xc4)
> [<c00ab124>] (sys_mount+0x84/0xc4) from [<c0021ec0>] (ret_fast_syscall+0x0/0x30)
> [<c00284bc>] (unwind_backtrace+0x0/0xfc) from [<c018a8e0>] (dbg_check_space_info+0xb4/0xc0)
> [<c018a8e0>] (dbg_check_space_info+0xb4/0xc0) from [<c015b4ac>] (ubifs_remount_fs+0x428/0x8dc)
> [<c015b4ac>] (ubifs_remount_fs+0x428/0x8dc) from [<c00949b0>] (do_remount_sb+0x6c/0x11c)
> [<c00949b0>] (do_remount_sb+0x6c/0x11c) from [<c00aae00>] (do_mount+0x468/0x708)
> [<c00aae00>] (do_mount+0x468/0x708) from [<c00ab124>] (sys_mount+0x84/0xc4)
> [<c00ab124>] (sys_mount+0x84/0xc4) from [<c0021ec0>] (ret_fast_syscall+0x0/0x30)
> UBIFS warning (pid 11300): ubifs_ro_mode: switched to read-only mode, error -22
> [<c00284bc>] (unwind_backtrace+0x0/0xfc) from [<c015b4bc>] (ubifs_remount_fs+0x438/0x8dc)
> [<c015b4bc>] (ubifs_remount_fs+0x438/0x8dc) from [<c00949b0>] (do_remount_sb+0x6c/0x11c)
> [<c00949b0>] (do_remount_sb+0x6c/0x11c) from [<c00aae00>] (do_mount+0x468/0x708)
> [<c00aae00>] (do_mount+0x468/0x708) from [<c00ab124>] (sys_mount+0x84/0xc4)
> [<c00ab124>] (sys_mount+0x84/0xc4) from [<c0021ec0>] (ret_fast_syscall+0x0/0x30)
> Unable to handle kernel NULL pointer dereference at virtual address 00000124

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)




More information about the linux-mtd mailing list