linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* UBIFS and NAND issue (works only once)
@ 2012-05-17 20:08 Bishop, Mark
  2012-05-17 20:23 ` Bishop, Mark
  2012-05-18 11:47 ` Artem Bityutskiy
  0 siblings, 2 replies; 3+ messages in thread
From: Bishop, Mark @ 2012-05-17 20:08 UTC (permalink / raw)
  To: linux-mtd

I do this:
mkfs.ubifs -r filesystem -m 2048 -e 129024 -c 1012 -o ubifs.img
ubinize -o ubi.img -m 2048 -p 128KiB -s 512 ubinize.cfg
.....
In uboot I flash the image:
tftp .....
nand erase .....
nand write....

Then boot my device I do:
Ubiattach /dev/ubi_ctrl -m 3

root:/> ubiattach /dev/ubi_ctrl -m 3
UBI: attaching mtd3 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: max. sequence number:       2
UBI: attached mtd3 to ubi0
UBI: MTD device name:            "file system(ubifs)"
UBI: MTD device size:            147 MiB
UBI: number of good PEBs:        1180
UBI: number of bad PEBs:         0
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:             0
UBI: total number of reserved PEBs: 1180
UBI: number of PEBs reserved for bad PEB handling: 11
UBI: max/mean erase counter: 1/0
UBI: image sequence number:  125589241
UBI: background thread "ubi_bgt0d" started, PID 353
mtd: Giving out device 4 to cooper
nand_erase_nand: start = 0x000006c80000, len = 131072
nand_erase_nand: start = 0x000006ca0000, len = 131072
nand_erase_nand: start = 0x000008bc0000, len = 131072
nand_erase_nand: start = 0x000008be0000, len = 131072
nand_erase_nand: start = 0x000008c00000, len = 131072
nand_erase_nand: start = 0x000008c20000, len = 131072
nand_erase_nand: start = 0x000008c40000, len = 131072
....
nand_erase_nand: start = 0x00000ffe0000, len = 131072

root:/> mount -t ubifs ubi0 /mnt/ubitest/
nand_erase_nand: start = 0x000006cc0000, len = 131072
nand_erase_nand: start = 0x000006de0000, len = 131072
UBIFS: mounted UBI device 0, volume 0, name "cooper"
UBIFS: file system size:   129153024 bytes (126126 KiB, 123 MiB, 1001
LEBs)
UBIFS: journal size:       9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  0 bytes (0 KiB)
nand_erase_nand: start = 0x000006e00000, len = 131072
nand_erase_nand: start = 0x000006e40000, len = 131072

And all looks good.


Until I reflash the image a second time on the device:
.....
root:/> ubiattach /dev/ubi_ctrl -m 3
UBI: attaching mtd3 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI error: process_eb: bad image sequence number 125589241 in PEB 1012,
expected 817099782
slab error in kmem_cache_destroy(): cache `ubi_scan_leb_slab': Can't
free all objects
Hardware Trace:
   0 Target : <0x001af2d8> { _dump_stack + 0x0 }
     Source : <0x0004729e> { _kmem_cache_destroy + 0xaa } JUMP.L
   1 Target : <0x0004729e> { _kmem_cache_destroy + 0xaa }
     Source : <0x001af4ac> { _printk + 0x14 } RTS
   2 Target : <0x001af4a8> { _printk + 0x10 }
     Source : <0x00010f94> { _vprintk + 0x164 } RTS
   3 Target : <0x00010f88> { _vprintk + 0x158 }
     Source : <0xffa00cc0> { __common_int_entry + 0xcc } RTI
   4 Target : <0xffa00c5e> { __common_int_entry + 0x6a }
     Source : <0xffa00aa8> { _return_from_int + 0x58 } RTS
   5 Target : <0xffa00aa8> { _return_from_int + 0x58 }
     Source : <0xffa00a7e> { _return_from_int + 0x2e } IF !CC JUMP pcrel
   6 Target : <0xffa00a50> { _return_from_int + 0x0 }
     Source : <0xffa00c5a> { __common_int_entry + 0x66 } JUMP.L
   7 Target : <0xffa00c58> { __common_int_entry + 0x64 }
     Source : <0xffa00380> { _asm_do_IRQ + 0x60 } RTS
   8 Target : <0xffa00378> { _asm_do_IRQ + 0x58 }
     Source : <0x00014540> { ___local_bh_enable + 0x38 } RTS
   9 Target : <0x00014508> { ___local_bh_enable + 0x0 }
     Source : <0x00014bf6> { ___do_softirq + 0xc6 } JUMP.L
  10 Target : <0x00014bea> { ___do_softirq + 0xba }
     Source : <0x00014bce> { ___do_softirq + 0x9e } IF CC JUMP pcrel
  11 Target : <0x00014bb8> { ___do_softirq + 0x88 }
     Source : <0x00034dbe> { _rcu_bh_qs + 0x5e } RTS
  12 Target : <0x00034da4> { _rcu_bh_qs + 0x44 }
     Source : <0x00034d78> { _rcu_bh_qs + 0x18 } IF CC JUMP pcrel
  13 Target : <0x00034d60> { _rcu_bh_qs + 0x0 }
     Source : <0x00014bb4> { ___do_softirq + 0x84 } JUMP.L
  14 Target : <0x00014bac> { ___do_softirq + 0x7c }
     Source : <0x00018a86> { _run_timer_softirq + 0xc6 } RTS
  15 Target : <0x00018a64> { _run_timer_softirq + 0xa4 }
     Source : <0x00018ad8> { _run_timer_softirq + 0x118 } JUMP.S
Stack info:
 SP: [0x02ec7cb0] <0x02ec7cb0> /* kernel dynamic memory */
 FP: (0x02ec7e58)
 Memory from 0x02ec7cb0 to 02ec8000
02ec7cb0:[0004724a] 000472a2  020584e0  ffffffea  02af2a20  001b4e44
0020b9d8  001f8a44
02ec7cd0: 00113ec6  02af2a20  0020b9d8  001c35f0  077c56f9  000003f4
30b3f406  00000000
02ec7cf0: 00000010  000000d0  02af2a3c  02af2a24  00000000  02e95c5c
02aaf000  02af2a2c
02ec7d10: 00000000  000040d0  0000ffff  02ec7e14  0010b97a  02aaf000
02aaf000  02e95800
02ec7d30: 00000000  00000200  00020000  00000200  00000000  00000800
ffffffff  02ec7da8
02ec7d50: 02ec7df0  00047e80  0264e320  02ec7df0  0004f8e6  02ec7e34
0293fdd4  02ec7e34
02ec7d70: 00000000  00000000  00020000  00000024  000517a2  02d6cbf0
000516fc  0264e320
02ec7d90: 00000000  02083005  00000000  00000000  02ec7da8  0293fdd4
02d6cbf0  02ec7dfc
02ec7db0: 00052702  02ec7e34  02ec7ec4  00000000  02ec6000  00000000
02ec7df0  02083000
02ec7dd0: 00000000  00000000  00260d8c  02083000  02ec7df8  00260378
00000000  00000001
02ec7df0: 02010120  02d6b8d4  00000000  02effc58  02ec7ec0  09380000
00000000  00000000
02ec7e10: 000f5f78  02ec7ec0  0010c146  02effcb8  00000036  02ed9808
40186f40  02aaf000
02ec7e30: 02effcb8  40186f40  02d6b8d4  ae0a2a32  00000008  ffffffff
00000003  00000000
02ec7e50: 00000000  00000000 (00000000)<000535e2> 0264e320  00000003
00000003  0201e980
02ec7e70: 02e4f920  0201e984  00000003  00000000  00000000  00000000
02effc58  00047a9e
02ec7e90: 00047ad8  02d6cbf0  0264e320  00000000  00000020  0264e328
00000003  00000001
02ec7eb0: 00000020  0264e328  00000001  00000000  02effc6c  00053a0c
000539e4  00000036
02ec7ed0: 02ed9808  0264e320  00000003  02effcb8  40186f40  00020000
ffffe000  02efff92
02ec7ef0: 02effcb8  00000000 <ffa0090a> 00000000  ffffe000  02efff92
02ed9028  0667a8e7
02ec7f10: 02effa34  0000fffe  0000e1a8  02ed9028  02efff92  02c0e1b4
00008000  00000000
02ec7f30: 00000000  02ec8000  02c0e1b4  02c0e1b4  02ed1af8  ffa01024
02003004  02b0bfc5
02ec7f50: 02b0c59f  02b0bfc2  02b0c59e  00000000  00000000  00000000
00000000  00000000
02ec7f70: 00000000  00000000  7ffff000  000000c0  00000137  00000000
00000000  00000000
02ec7f90: 00000000  0000005b  00001802  00000001  fffffffc  00000007
00000003  02ed9808
02ec7fb0: 02c39188  02effc60  02effc6c  02effd9c  02eca258  02ed9808
02ec9290  02c0e1a8
02ec7fd0: 00000036  00000003  02effcb8  02efff92  02ed9028  0000e1a8
02effcb8  40186f40
02ec7ff0: 00000003  00000003  00000036  00000006
Return addresses in stack:
   frame  1 : <0x000535e2> { _do_vfs_ioctl + 0x62 }
    address : <0xffa0090a> { _system_call + 0x6a }
UBI error: ubi_attach_mtd_dev: failed to attach by scanning, error -22
ubiattach: error!: cannot attach mtd3
           error 22 (Invalid argument)
root:/>

Any ideas?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: UBIFS and NAND issue (works only once)
  2012-05-17 20:08 UBIFS and NAND issue (works only once) Bishop, Mark
@ 2012-05-17 20:23 ` Bishop, Mark
  2012-05-18 11:47 ` Artem Bityutskiy
  1 sibling, 0 replies; 3+ messages in thread
From: Bishop, Mark @ 2012-05-17 20:23 UTC (permalink / raw)
  To: linux-mtd

Nevermind.  Please ignore, and the top post.

> -----Original Message-----
> From: linux-mtd-bounces@lists.infradead.org [mailto:linux-mtd-
> bounces@lists.infradead.org] On Behalf Of Bishop, Mark
> Sent: Thursday, May 17, 2012 4:08 PM
> To: linux-mtd@lists.infradead.org
> Subject: UBIFS and NAND issue (works only once)
> 
> I do this:
> mkfs.ubifs -r filesystem -m 2048 -e 129024 -c 1012 -o ubifs.img
> ubinize -o ubi.img -m 2048 -p 128KiB -s 512 ubinize.cfg
> .....
> In uboot I flash the image:
> tftp .....
> nand erase .....
> nand write....
> 

<long debug messages that wasn't required when you erase the proper
sizes of flash>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: UBIFS and NAND issue (works only once)
  2012-05-17 20:08 UBIFS and NAND issue (works only once) Bishop, Mark
  2012-05-17 20:23 ` Bishop, Mark
@ 2012-05-18 11:47 ` Artem Bityutskiy
  1 sibling, 0 replies; 3+ messages in thread
From: Artem Bityutskiy @ 2012-05-18 11:47 UTC (permalink / raw)
  To: Bishop, Mark; +Cc: linux-mtd

[-- Attachment #1: Type: text/plain, Size: 1219 bytes --]

Hi,

On Thu, 2012-05-17 at 16:08 -0400, Bishop, Mark wrote:
> root:/> ubiattach /dev/ubi_ctrl -m 3
> UBI: attaching mtd3 to ubi0
> UBI: physical eraseblock size:   131072 bytes (128 KiB)
> UBI: logical eraseblock size:    129024 bytes
> UBI: smallest flash I/O unit:    2048
> UBI: sub-page size:              512
> UBI: VID header offset:          512 (aligned 512)
> UBI: data offset:                2048
> UBI error: process_eb: bad image sequence number 125589241 in PEB 1012,
> expected 817099782

This means that you did not flash it correctly. Image sequence number is
a random number associated with an image. UBI tools pick it randomly.

This message says that half of your flash contains the new image, but
the half of it contains the pieces of the old image. I have no idea
which tools you use for flashing images, but you should check that your
tools erase the flash area beyond the new flash image.

Read here:


> slab error in kmem_cache_destroy(): cache `ubi_scan_leb_slab': Can't
> free all objects

This seems to be a bug on error path - we leek memory. A patch for
fixing this will a good way to contribute back to the community.

-- 
Best Regards,
Artem Bityutskiy

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-05-18 11:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-17 20:08 UBIFS and NAND issue (works only once) Bishop, Mark
2012-05-17 20:23 ` Bishop, Mark
2012-05-18 11:47 ` Artem Bityutskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).