UBIFS crash (was Re: Problems with mtd_oobtest)

Matej Kupljen matej.kupljen at gmail.com
Tue Mar 13 02:20:39 EDT 2012


Dear, Artem,

>> Do you see any issues if you have no power cuts, or these things only
>> happen as a result of power cuts?
>
> I'll try to reproduce the problem, by doing clean reboots and will get
> back to you.

I tried to do a clean reboots, and today, when I turned on the device,
the UBIFS was mounted O.K., but then during init, I got the following error:

===========================================================================
[   26.164000] UBIFS error (pid 965): ubifs_read_node: bad node type
(255 but expected 0)
[   26.168000] UBIFS error (pid 965): ubifs_read_node: bad node at LEB
149:4416, LEB mapping status 1
[   26.176000] [<c002ba14>] (unwind_backtrace+0x0/0xe0) from
[<c0112d3c>] (ubifs_read_node+0x240/0x274)
[   26.180000] [<c0112d3c>] (ubifs_read_node+0x240/0x274) from
[<c012d94c>] (ubifs_tnc_read_node+0x50/0xe0)
[   26.184000] [<c012d94c>] (ubifs_tnc_read_node+0x50/0xe0) from
[<c0117130>] (ubifs_tnc_locate+0x134/0x17c)
[   26.188000] [<c0117130>] (ubifs_tnc_locate+0x134/0x17c) from
[<c010d950>] (ubifs_iget+0x6c/0x7b0)
[   26.192000] [<c010d950>] (ubifs_iget+0x6c/0x7b0) from [<c010c988>]
(ubifs_lookup+0x130/0x1d4)
[   26.196000] [<c010c988>] (ubifs_lookup+0x130/0x1d4) from
[<c0090898>] (__lookup_hash+0x110/0x130)
[   26.204000] [<c0090898>] (__lookup_hash+0x110/0x130) from
[<c00936b4>] (do_filp_open+0x200/0x8e4)
[   26.208000] [<c00936b4>] (do_filp_open+0x200/0x8e4) from
[<c008728c>] (do_sys_open+0x5c/0x114)
[   26.212000] [<c008728c>] (do_sys_open+0x5c/0x114) from [<c0025e20>]
(ret_fast_syscall+0x0/0x28)
[   26.216000] UBIFS error (pid 965): ubifs_iget: failed to read inode
1841, error -22
[   26.220000] UBIFS error (pid 965): ubifs_lookup: dead directory
entry 'updated.log', error -22
===========================================================================

However, I can still login and do a reboot, and when the board is
rebooted, I noticed this
in the boot log:

===========================================================================
[    0.836000] UBI error: check_corruption: PEB 160 contains corrupted
VID header, and the data does not contain all 0xFF, thin
[    1.216000] UBI error: check_what_we_have: 1 PEBs are corrupted and preserved
[    1.220000] Corrupted PEBs are: 160
[    1.224000] UBI: max. sequence number:       41
[    1.248000] UBI warning: print_rsvd_warning: cannot reserve enough
PEBs for bad PEB handling, reserved 7, need 8
[    1.252000] UBI warning: print_rsvd_warning: 1 PEBs are corrupted
and not used
===========================================================================

If I login the FS is mounted as RO. If I remount it in RW and try to
do a sync, I get:

===========================================================================
# sync
[  193.176000] UBIFS error (pid 369): make_reservation: cannot reserve
160 bytes in jhead 1, error -30
[  193.180000] UBIFS error (pid 369): ubifs_write_inode: can't write
inode 1855, error -30
[  193.196000] UBIFS error (pid 2886): do_commit: commit failed, error -30
===========================================================================

What could be the cause of such many errors in FS?
I am really running out of ideas, how to solve this, so any hint would
be appreciated.

Thank you and Best Regards,
Matej



More information about the linux-mtd mailing list