Re: Kernel-4.14: With ubuntu-18.04 building rootfs images and booting gives SQUASHFS error: xz decompression failed, data probably corrupt

From: Pintu Agarwal
Date: Fri Nov 12 2021 - 02:19:21 EST


Hi,

On Tue, 9 Nov 2021 at 21:04, Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote:

> > > We only get these squashfs errors flooded in the boot logs:
> > > {{{
> > > ....
> > > [ 5.153479] device-mapper: init: dm-0 is ready
> > > [ 5.334282] VFS: Mounted root (squashfs filesystem) readonly on device 253:0.
> > > ....
> > > [ 8.954120] SQUASHFS error: xz decompression failed, data probably corrupt
> > > [ 8.954153] SQUASHFS error: squashfs_read_data failed to read block 0x1106
> > > [ 8.970316] SQUASHFS error: Unable to read data cache entry [1106]
> > > [ 8.970349] SQUASHFS error: Unable to read page, block 1106, size 776c
> > > [ 8.980298] SQUASHFS error: Unable to read data cache entry [1106]
> > > [ 8.981911] SQUASHFS error: Unable to read page, block 1106, size 776c
> > > [ 8.988280] SQUASHFS error: Unable to read data cache entry [1106]
> > > ....
> > > }}}
> > >

One more observation:
When I disable FEC flag in bootloader, I see the below error:
[ 8.360791] device-mapper: verity: 253:0: data block 2 is corrupted
[ 8.361134] device-mapper: verity: 253:0: data block 3 is corrupted
[ 8.366016] SQUASHFS error: squashfs_read_data failed to read block 0x1106
[ 8.379652] SQUASHFS error: Unable to read data cache entry [1106]
[ 8.379680] SQUASHFS error: Unable to read page, block 1106, size 7770

Also, now I see that the decompress error is gone, but the read error
is still there.

This seems to me that dm-verity detects some corrupted blocks but with
FEC it auto corrects itself, how when dm-verity auto corrects itself,
the squashfs decompression algorithm somehow could not understand it.

So, it seems like there is some mis-match between the way FEC
correction and the squashfs decompression happens ?

Is this issue seen by anybody else here ?


Thanks,
Pintu