All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] UBIFS LZO decompression failure
@ 2009-09-15  8:18 Simon Kagstrom
  2009-10-14  6:45 ` Mark Retallack
  0 siblings, 1 reply; 2+ messages in thread
From: Simon Kagstrom @ 2009-09-15  8:18 UTC (permalink / raw)
  To: u-boot

Hi List!

I have a slight problem with UBIFS on the OpenRD base board (an ARM
board very similar to sheevaplug). Loading files which have been
compressed with LZO by ubifs fails:

   OpenRD>> ubi part root; ubifsmount rootfs
   Creating 1 MTD partitions on "nand0":
   0x0000001e0000-0x000020000000 : "mtd=1"
   UBI: attaching mtd1 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: attached mtd1 to ubi0
   UBI: MTD device name:            "mtd=1"
   UBI: MTD device size:            510 MiB
   UBI: number of good PEBs:        4081
   UBI: number of bad 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:             54
   UBI: total number of reserved PEBs: 4027
   UBI: number of PEBs reserved for bad PEB handling: 40
   UBI: max/mean erase counter: 6/4
   UBIFS: mounted UBI device 0, volume 0, name "rootfs"
   UBIFS: mounted read-only
   UBIFS: file system size:   511967232 bytes (499968 KiB, 488 MiB, 3968 LEBs)
   UBIFS: journal size:       25675776 bytes (25074 KiB, 24 MiB, 199 LEBs)
   UBIFS: media format:       w4/r0 (latest is w4/r0)
   UBIFS: default compressor: LZO
   UBIFS: reserved for root:  5182151 bytes (5060 KiB)

   OpenRD>> ubifsload 0x8000000 /boot/primary/uImage
   Loading file '/boot/primary/uImage' to addr 0x08000000 with size 7196920 (0x006dd0f8)...
   UBIFS error (pid 0): ubifs_decompress: cannot decompress 3204 bytes, compressor LZO, error -6
   UBIFS error (pid 0): read_block: bad data node (block 0, inode 88)
   UBIFS error (pid 0): do_readpage: cannot read page 0 of inode 88, error -22
   Error reading file '/boot/primary/uImage'

I've created the filesystem in Linux on the target (v2.6.31). The
compression error -6 is LZO_E_LOOKBEHIND_OVERRUN, and it fails because
of this test in lzo1x_decompress.c:

			if (HAVE_LB(m_pos, out, op))
				goto lookbehind_overrun;

where HAVE_LB is defined as  (m_pos < out || m_pos >= op)  and the
m_pos, out and op values are 0x07ffde77, 0x08000000, 0x08000083 (i.e.,
the first test fails).

The lzo1x_decompress.c file is identical to that in Linux, so something
is fishy here. Does it work for the rest of you?


In our case it doesn't matter very much since the file (an uImage) is
compressed anyway and we therefore save work anyway by marking it as
using no compression, but it would be nice if this would work anyhow.

// Simon

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

* [U-Boot] UBIFS LZO decompression failure
  2009-09-15  8:18 [U-Boot] UBIFS LZO decompression failure Simon Kagstrom
@ 2009-10-14  6:45 ` Mark Retallack
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Retallack @ 2009-10-14  6:45 UTC (permalink / raw)
  To: u-boot

Simon Kagstrom <simon.kagstrom <at> netinsight.net> writes:

> 
> Hi List!
> 
> I have a slight problem with UBIFS on the OpenRD base board (an ARM
> board very similar to sheevaplug). Loading files which have been
> compressed with LZO by ubifs fails:

>    OpenRD>> ubifsload 0x8000000 /boot/primary/uImage
>    Loading file '/boot/primary/uImage' to addr 0x08000000 with size 7196920
(0x006dd0f8)...
>    UBIFS error (pid 0): ubifs_decompress: cannot decompress 3204 bytes,
compressor LZO, error -6
>    UBIFS error (pid 0): read_block: bad data node (block 0, inode 88)
>    UBIFS error (pid 0): do_readpage: cannot read page 0 of inode 88, error -22
>    Error reading file '/boot/primary/uImage'
> 
> I've created the filesystem in Linux on the target (v2.6.31). The
> compression error -6 is LZO_E_LOOKBEHIND_OVERRUN, and it fails because
> of this test in lzo1x_decompress.c:
> 
> 			if (HAVE_LB(m_pos, out, op))
> 				goto lookbehind_overrun;
> 
> where HAVE_LB is defined as  (m_pos < out || m_pos >= op)  and the
> m_pos, out and op values are 0x07ffde77, 0x08000000, 0x08000083 (i.e.,
> the first test fails).
> 
> The lzo1x_decompress.c file is identical to that in Linux, so something
> is fishy here. Does it work for the rest of you?
> 
> // Simon
> 

Hello, 

Just looking around and found this message. I am also getting the 
same error. 

Does anyone have any more info on it? for example what causes a look 
behind overrun?

Thanks in advance

Mark Retallack.

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

end of thread, other threads:[~2009-10-14  6:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-15  8:18 [U-Boot] UBIFS LZO decompression failure Simon Kagstrom
2009-10-14  6:45 ` Mark Retallack

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.