ubifs panic with 2.6.39 stable

Brad Parker brad at heeltoe.com
Mon Jan 2 15:14:55 EST 2012


Running and older 2.6.31 kernel with UBIFS I saw a panic which appears
to be during recovery
of a bad block. The root fs (which is UBIFS) won't mount and the kernel
panics.

I upgraded the kernel 2.6.39-stable, hoping that would fix the problem,
as I noticed a lot of
recovery fixes had gone in.  It still panics; it appears the recovery
fails.

The board is essentially an Olimex SAM9-L9260, with Samsung NAND.

Below are the interesting parts of the log (and the panic).  I'm curious
if this looks familiar
and if there might be fixes post 2.5.39...  thanks for any insight.

-brad


...

atmel_nand atmel_nand: No DMA support for NAND access.
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB
3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 2521 at 0x000013b20000
Bad eraseblock 3214 at 0x0000191c0000
Creating 2 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x000000000000-0x000000400000 : "Bootloader Area"
0x000000400000-0x000020000000 : "Root Filesystem"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: VID header offset:          2048 (aligned 2048)
UBI: data offset:                4096
UBI: max. sequence number:       66253
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "Root Filesystem"
UBI: MTD device size:            508 MiB
UBI: number of good PEBs:        4062
UBI: number of bad PEBs:         2
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     1
UBI: available PEBs:             219
UBI: total number of reserved PEBs: 3843
UBI: number of PEBs reserved for bad PEB handling: 40
UBI: max/mean erase counter: 45/16
UBI: image sequence number:  0
UBI: background thread "ubi_bgt0d" started, PID 269

...

VFP support v0.3: not present
UBIFS: recovery needed
UBI error: ubi_io_read: error -74 (ECC error) while reading 126976 bytes
from PEB 2970:4096, read 126976 bytes
UBIFS error (pid 1): ubifs_check_node: bad CRC: calculated 0xf510fb95,
read 0x4f0a3196
UBIFS error (pid 1): ubifs_check_node: bad node at LEB 3589:45128
[<c002a8f0>] (unwind_backtrace+0x0/0xec) from [<c010c234>]
(ubifs_check_node+0x2b0/0x2f4)
[<c010c234>] (ubifs_check_node+0x2b0/0x2f4) from [<c0113e7c>]
(ubifs_scan_a_node+0x18c/0x2f0)
[<c0113e7c>] (ubifs_scan_a_node+0x18c/0x2f0) from [<c0128de0>]
(ubifs_recover_leb+0x10c/0x8e4)
[<c0128de0>] (ubifs_recover_leb+0x10c/0x8e4) from [<c0114ed0>]
(ubifs_replay_journal+0x8b0/0x1990)
[<c0114ed0>] (ubifs_replay_journal+0x8b0/0x1990) from [<c0108a08>]
(ubifs_fill_super+0xd34/0x18fc)
[<c0108a08>] (ubifs_fill_super+0xd34/0x18fc) from [<c0109868>]
(ubifs_mount+0x298/0x310)
[<c0109868>] (ubifs_mount+0x298/0x310) from [<c008e0bc>]
(mount_fs+0x10/0xc4)
[<c008e0bc>] (mount_fs+0x10/0xc4) from [<c00a3d60>]
(vfs_kern_mount+0x50/0x88)
[<c00a3d60>] (vfs_kern_mount+0x50/0x88) from [<c00a3ddc>]
(do_kern_mount+0x34/0xc8)
[<c00a3ddc>] (do_kern_mount+0x34/0xc8) from [<c00a448c>]
(do_mount+0x61c/0x684)
[<c00a448c>] (do_mount+0x61c/0x684) from [<c00a4578>]
(sys_mount+0x84/0xc4)
[<c00a4578>] (sys_mount+0x84/0xc4) from [<c0008ba4>]
(mount_block_root+0x100/0x2ac)
[<c0008ba4>] (mount_block_root+0x100/0x2ac) from [<c0008e3c>]
(prepare_namespace+0x88/0x178)
[<c0008e3c>] (prepare_namespace+0x88/0x178) from [<c0008404>]
(kernel_init+0x100/0x13c)
[<c0008404>] (kernel_init+0x100/0x13c) from [<c0026e34>]
(kernel_thread_exit+0x0/0x8)
UBIFS error (pid 1): ubifs_recover_leb: bad node
UBIFS error (pid 1): ubifs_scanned_corruption: corruption at LEB
3589:45128
UBIFS error (pid 1): ubifs_scanned_corruption: first 8192 bytes from LEB
3589:45128
UBIFS error (pid 1): ubifs_recover_leb: LEB 3589 scanning failed
VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available
partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(0,0)
[<c002a8f0>] (unwind_backtrace+0x0/0xec) from [<c024e1c0>]
(panic+0x54/0x17c)
[<c024e1c0>] (panic+0x54/0x17c) from [<c0008d00>]
(mount_block_root+0x25c/0x2ac)
[<c0008d00>] (mount_block_root+0x25c/0x2ac) from [<c0008e3c>]
(prepare_namespace+0x88/0x178)
[<c0008e3c>] (prepare_namespace+0x88/0x178) from [<c0008404>]
(kernel_init+0x100/0x13c)
[<c0008404>] (kernel_init+0x100/0x13c) from [<c0026e34>]
(kernel_thread_exit+0x0/0x8)






More information about the linux-mtd mailing list