Bug 19099 - [ANCK6.6.71-3 rc1][aarch64][倚天710机器]erofs-utils测试套中erofs/006等用例失败,提示md5校验失败
Summary: [ANCK6.6.71-3 rc1][aarch64][倚天710机器]erofs-utils测试套中erofs/006等用例失败,提示md5校验失败
Status: CLOSED FIXED
Alias: None
Product: Antest
Classification: Infrastructures
Component: 测试用例 (show other bugs) 测试用例
Version: unspecified
Hardware: aarch64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: lv0322
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-28 14:27 UTC by zhixin01
Modified: 2025-03-11 15:38 UTC (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zhixin01 alibaba_cloud_group 2025-02-28 14:27:23 UTC
[缺陷描述]:
erofs-utils测试套中erofs/006用例失败,提示md5校验失败

同样失败的还有erofs/008、erofs/009、erofs/010、erofs/011、erofs/016、erofs/017
#cat 009.out.bad
QA output created by 009
-->checkMD5 FAILED
(see /var/tmp/tone/run/erofs-utils/tests/results/erofs/009.full for details)

#cat 010.out.bad
QA output created by 010
-->checkMD5 FAILED
(see /var/tmp/tone/run/erofs-utils/tests/results/erofs/010.full for details)

#cat 011.out.bad
QA output created by 011
-->checkMD5 FAILED
(see /var/tmp/tone/run/erofs-utils/tests/results/erofs/011.full for details)

#cat 016.out.bad
QA output created by 016
-->checkMD5 FAILED
(see /var/tmp/tone/run/erofs-utils/tests/results/erofs/016.full for details)

#cat 017.out.bad
QA output created by 017
-->checkMD5 FAILED
(see /var/tmp/tone/run/erofs-utils/tests/results/erofs/017.full for details)

erofs/006具体报错日志如下:
#cat 006.full
mkfs.erofs 1.8.3
Processing / ...
Processing LICENSES ...
Processing autom4te.cache ...
Processing config ...
Processing docs ...
Processing dump ...
Processing fsck ...
Processing fuse ...
Processing include ...
Processing lib ...
Processing m4 ...
Processing man ...
Processing mkfs ...
Processing scripts ...
Processing LICENSES/Apache-2.0 ...
Processing LICENSES/GPL-2.0 ...
Processing autom4te.cache/output.0 ...
Processing autom4te.cache/output.1 ...
Processing autom4te.cache/output.2 ...
Processing autom4te.cache/requests ...
Processing autom4te.cache/traces.0 ...
Processing autom4te.cache/traces.1 ...
Processing autom4te.cache/traces.2 ...
Processing config/ar-lib ...
Processing config/compile ...
Processing config/config.guess ...
Processing config/config.sub ...
Processing config/depcomp ...
Processing config/install-sh ...
Processing config/ltmain.sh ...
Processing config/missing ...
Processing docs/INSTALL.md ...
Processing docs/PERFORMANCE.md ...
Processing docs/compress-hints.example ...
Processing dump/.deps ...
Processing dump/.libs ...
Processing dump/Makefile ...
Processing dump/Makefile.am ...
Processing dump/Makefile.in ...
Processing dump/dump.erofs ...
Processing dump/dump_erofs-main.o ...
Processing dump/main.c ...
Processing dump/.deps/dump_erofs-main.Po ...
Processing fsck/.deps ...
Processing fsck/.libs ...
Processing fsck/Makefile ...
Processing fsck/Makefile.am ...
Processing fsck/Makefile.in ...
Processing fsck/fsck.erofs ...
Processing fsck/fsck_erofs-main.o ...
Processing fsck/main.c ...
Processing fsck/.deps/fsck_erofs-main.Po ...
Processing fsck/.deps/fuzz_erofsfsck-main.Po ...
Processing fuse/.deps ...
Processing fuse/Makefile ...
Processing fuse/Makefile.am ...
Processing fuse/Makefile.in ...
Processing fuse/macosx.h ...
Processing fuse/main.c ...
Processing fuse/.deps/erofsfuse-main.Po ...
Processing fuse/.deps/liberofsfuse_la-main.Plo ...
Processing include/erofs ...
Processing include/erofs_fs.h ...
Processing include/erofs/atomic.h ...
Processing include/erofs/blobchunk.h ...
Processing include/erofs/block_list.h ...
Processing include/erofs/cache.h ...
Processing include/erofs/compress.h ...
Processing include/erofs/compress_hints.h ...
Processing include/erofs/config.h ...
Processing include/erofs/decompress.h ...
Processing include/erofs/dedupe.h ...
Processing include/erofs/defs.h ...
Processing include/erofs/dir.h ...
Processing include/erofs/diskbuf.h ...
Processing include/erofs/err.h ...
Processing include/erofs/exclude.h ...
Processing include/erofs/flex-array.h ...
Processing include/erofs/fragments.h ...
Processing include/erofs/hashmap.h ...
Processing include/erofs/hashtable.h ...
Processing include/erofs/inode.h ...
Processing include/erofs/internal.h ...
Processing include/erofs/io.h ...
Processing include/erofs/list.h ...
Processing include/erofs/print.h ...
Processing include/erofs/rebuild.h ...
Processing include/erofs/tar.h ...
Processing include/erofs/trace.h ...
Processing include/erofs/workqueue.h ...
Processing include/erofs/xattr.h ...
Processing lib/.deps ...
Processing lib/.libs ...
Processing lib/Makefile ...
Processing lib/Makefile.am ...
Processing lib/Makefile.in ...
Processing lib/blobchunk.c ...
Processing lib/block_list.c ...
Processing lib/cache.c ...
Processing lib/compress.c ...
Processing lib/compress_hints.c ...
Processing lib/compressor.c ...
Processing lib/compressor.h ...
Processing lib/compressor_deflate.c ...
Processing lib/compressor_libdeflate.c ...
Processing lib/compressor_liblzma.c ...
Processing lib/compressor_libzstd.c ...
Processing lib/compressor_lz4.c ...
Processing lib/compressor_lz4hc.c ...
Processing lib/config.c ...
Processing lib/data.c ...
Processing lib/decompress.c ...
Processing lib/dedupe.c ...
Processing lib/dir.c ...
Processing lib/diskbuf.c ...
Processing lib/exclude.c ...
Processing lib/fragments.c ...
Processing lib/hashmap.c ...
Processing lib/inode.c ...
Processing lib/io.c ...
Processing lib/kite_deflate.c ...
Processing lib/liberofs.la ...
Processing lib/liberofs_la-blobchunk.lo ...
Processing lib/liberofs_la-blobchunk.o ...
Processing lib/liberofs_la-block_list.lo ...
Processing lib/liberofs_la-block_list.o ...
Processing lib/liberofs_la-cache.lo ...
Processing lib/liberofs_la-cache.o ...
Processing lib/liberofs_la-compress.lo ...
Processing lib/liberofs_la-compress.o ...
Processing lib/liberofs_la-compress_hints.lo ...
Processing lib/liberofs_la-compress_hints.o ...
Processing lib/liberofs_la-compressor.lo ...
Processing lib/liberofs_la-compressor.o ...
Processing lib/liberofs_la-compressor_deflate.lo ...
Processing lib/liberofs_la-compressor_deflate.o ...
Processing lib/liberofs_la-compressor_liblzma.lo ...
Processing lib/liberofs_la-compressor_liblzma.o ...
Processing lib/liberofs_la-compressor_libzstd.lo ...
Processing lib/liberofs_la-compressor_libzstd.o ...
Processing lib/liberofs_la-compressor_lz4.lo ...
Processing lib/liberofs_la-compressor_lz4.o ...
Processing lib/liberofs_la-compressor_lz4hc.lo ...
Processing lib/liberofs_la-compressor_lz4hc.o ...
Processing lib/liberofs_la-config.lo ...
Processing lib/liberofs_la-config.o ...
Processing lib/liberofs_la-data.lo ...
Processing lib/liberofs_la-data.o ...
Processing lib/liberofs_la-decompress.lo ...
Processing lib/liberofs_la-decompress.o ...
Processing lib/liberofs_la-dedupe.lo ...
Processing lib/liberofs_la-dedupe.o ...
Processing lib/liberofs_la-dir.lo ...
Processing lib/liberofs_la-dir.o ...
Processing lib/liberofs_la-diskbuf.lo ...
Processing lib/liberofs_la-diskbuf.o ...
Processing lib/liberofs_la-exclude.lo ...
Processing lib/liberofs_la-exclude.o ...
Processing lib/liberofs_la-fragments.lo ...
Processing lib/liberofs_la-fragments.o ...
Processing lib/liberofs_la-hashmap.lo ...
Processing lib/liberofs_la-hashmap.o ...
Processing lib/liberofs_la-inode.lo ...
Processing lib/liberofs_la-inode.o ...
Processing lib/liberofs_la-io.lo ...
Processing lib/liberofs_la-io.o ...
Processing lib/liberofs_la-kite_deflate.lo ...
Processing lib/liberofs_la-kite_deflate.o ...
Processing lib/liberofs_la-namei.lo ...
Processing lib/liberofs_la-namei.o ...
Processing lib/liberofs_la-rebuild.lo ...
Processing lib/liberofs_la-rebuild.o ...
Processing lib/liberofs_la-sha256.lo ...
Processing lib/liberofs_la-sha256.o ...
Processing lib/liberofs_la-super.lo ...
Processing lib/liberofs_la-super.o ...
Processing lib/liberofs_la-tar.lo ...
Processing lib/liberofs_la-tar.o ...
Processing lib/liberofs_la-uuid.lo ...
Processing lib/liberofs_la-uuid.o ...
Processing lib/liberofs_la-uuid_unparse.lo ...
Processing lib/liberofs_la-uuid_unparse.o ...
Processing lib/liberofs_la-xattr.lo ...
Processing lib/liberofs_la-xattr.o ...
Processing lib/liberofs_la-xxhash.lo ...
Processing lib/liberofs_la-xxhash.o ...
Processing lib/liberofs_la-zmap.lo ...
Processing lib/liberofs_la-zmap.o ...
Processing lib/liberofs_private.h ...
Processing lib/liberofs_uuid.h ...
Processing lib/namei.c ...
Processing lib/rebuild.c ...
Processing lib/rolling_hash.h ...
Processing lib/sha256.c ...
Processing lib/sha256.h ...
Processing lib/super.c ...
Processing lib/tar.c ...
Processing lib/uuid.c ...
Processing lib/uuid_unparse.c ...
Processing lib/workqueue.c ...
Processing lib/xattr.c ...
Processing lib/xxhash.c ...
Processing lib/xxhash.h ...
Processing lib/zmap.c ...
Processing lib/.deps/liberofs_la-blobchunk.Plo ...
Processing lib/.deps/liberofs_la-block_list.Plo ...
Processing lib/.deps/liberofs_la-cache.Plo ...
Processing lib/.deps/liberofs_la-compress.Plo ...
Processing lib/.deps/liberofs_la-compress_hints.Plo ...
Processing lib/.deps/liberofs_la-compressor.Plo ...
Processing lib/.deps/liberofs_la-compressor_deflate.Plo ...
Processing lib/.deps/liberofs_la-compressor_libdeflate.Plo ...
Processing lib/.deps/liberofs_la-compressor_liblzma.Plo ...
Processing lib/.deps/liberofs_la-compressor_libzstd.Plo ...
Processing lib/.deps/liberofs_la-compressor_lz4.Plo ...
Processing lib/.deps/liberofs_la-compressor_lz4hc.Plo ...
Processing lib/.deps/liberofs_la-config.Plo ...
Processing lib/.deps/liberofs_la-data.Plo ...
Processing lib/.deps/liberofs_la-decompress.Plo ...
Processing lib/.deps/liberofs_la-dedupe.Plo ...
Processing lib/.deps/liberofs_la-dir.Plo ...
Processing lib/.deps/liberofs_la-diskbuf.Plo ...
Processing lib/.deps/liberofs_la-exclude.Plo ...
Processing lib/.deps/liberofs_la-fragments.Plo ...
Processing lib/.deps/liberofs_la-hashmap.Plo ...
Processing lib/.deps/liberofs_la-inode.Plo ...
Processing lib/.deps/liberofs_la-io.Plo ...
Processing lib/.deps/liberofs_la-kite_deflate.Plo ...
Processing lib/.deps/liberofs_la-namei.Plo ...
Processing lib/.deps/liberofs_la-rebuild.Plo ...
Processing lib/.deps/liberofs_la-sha256.Plo ...
Processing lib/.deps/liberofs_la-super.Plo ...
Processing lib/.deps/liberofs_la-tar.Plo ...
Processing lib/.deps/liberofs_la-uuid.Plo ...
Processing lib/.deps/liberofs_la-uuid_unparse.Plo ...
Processing lib/.deps/liberofs_la-workqueue.Plo ...
Processing lib/.deps/liberofs_la-xattr.Plo ...
Processing lib/.deps/liberofs_la-xxhash.Plo ...
Processing lib/.deps/liberofs_la-zmap.Plo ...
Processing lib/.libs/liberofs.a ...
Processing lib/.libs/liberofs.la ...
Processing lib/.libs/liberofs_la-blobchunk.o ...
Processing lib/.libs/liberofs_la-block_list.o ...
Processing lib/.libs/liberofs_la-cache.o ...
Processing lib/.libs/liberofs_la-compress.o ...
Processing lib/.libs/liberofs_la-compress_hints.o ...
Processing lib/.libs/liberofs_la-compressor.o ...
Processing lib/.libs/liberofs_la-compressor_deflate.o ...
Processing lib/.libs/liberofs_la-compressor_liblzma.o ...
Processing lib/.libs/liberofs_la-compressor_libzstd.o ...
Processing lib/.libs/liberofs_la-compressor_lz4.o ...
Processing lib/.libs/liberofs_la-compressor_lz4hc.o ...
Processing lib/.libs/liberofs_la-config.o ...
Processing lib/.libs/liberofs_la-data.o ...
Processing lib/.libs/liberofs_la-decompress.o ...
Processing lib/.libs/liberofs_la-dedupe.o ...
Processing lib/.libs/liberofs_la-dir.o ...
Processing lib/.libs/liberofs_la-diskbuf.o ...
Processing lib/.libs/liberofs_la-exclude.o ...
Processing lib/.libs/liberofs_la-fragments.o ...
Processing lib/.libs/liberofs_la-hashmap.o ...
Processing lib/.libs/liberofs_la-inode.o ...
Processing lib/.libs/liberofs_la-io.o ...
Processing lib/.libs/liberofs_la-kite_deflate.o ...
Processing lib/.libs/liberofs_la-namei.o ...
Processing lib/.libs/liberofs_la-rebuild.o ...
Processing lib/.libs/liberofs_la-sha256.o ...
Processing lib/.libs/liberofs_la-super.o ...
Processing lib/.libs/liberofs_la-tar.o ...
Processing lib/.libs/liberofs_la-uuid.o ...
Processing lib/.libs/liberofs_la-uuid_unparse.o ...
Processing lib/.libs/liberofs_la-xattr.o ...
Processing lib/.libs/liberofs_la-xxhash.o ...
Processing lib/.libs/liberofs_la-zmap.o ...
Processing m4/libtool.m4 ...
Processing m4/ltoptions.m4 ...
Processing m4/ltsugar.m4 ...
Processing m4/ltversion.m4 ...
Processing m4/lt~obsolete.m4 ...
Processing man/Makefile ...
Processing man/Makefile.am ...
Processing man/Makefile.in ...
Processing man/dump.erofs.1 ...
Processing man/erofsfuse.1 ...
Processing man/fsck.erofs.1 ...
Processing man/mkfs.erofs.1 ...
Processing mkfs/.deps ...
Processing mkfs/.libs ...
Processing mkfs/Makefile ...
Processing mkfs/Makefile.am ...
Processing mkfs/Makefile.in ...
Processing mkfs/main.c ...
Processing mkfs/mkfs.erofs ...
Processing mkfs/mkfs_erofs-main.o ...
Processing mkfs/.deps/mkfs_erofs-main.Po ...
Processing scripts/get-version-number ...
Build completed.

------
Filesystem UUID: 9997c87d-0684-497f-8d51-c718812e3d57
Filesystem total blocks: 3109 (of 4096-byte blocks)
Filesystem total inodes: 296
Filesystem total metadata blocks: 134
Filesystem total deduplicated bytes (of source files): 0
/erofs_test_dir/1051037/006 checksum is ugoAMCdtES:88c92d4b1afb8e9370611ec0589c0c23
/tmp/erofstest/scratch checksum is
-->checkMD5 FAILED

[重现概率]:
必现

[重现环境]:
环境信息:倚天710机器
11.163.178.238

#uname -r
6.6.71-3_rc1.al8.aarch64

#cat /etc/os-release
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
UPDATE_ID="10"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"

#lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              128
On-line CPU(s) list: 0-127
Thread(s) per core:  1
Core(s) per socket:  128
Socket(s):           1
NUMA node(s):        2
Vendor ID:           ARM
BIOS Vendor ID:      T-HEAD
Model:               0
Model name:          Neoverse-N2
BIOS Model name:     Yitian710-128
Stepping:            r0p0
CPU MHz:             2750.000
BogoMIPS:            100.00
Hypervisor vendor:   Alibaba
Virtualization type: full
L1d cache:           64K
L1i cache:           64K
L2 cache:            1024K
L3 cache:            65536K
NUMA node0 CPU(s):   0-63
NUMA node1 CPU(s):   64-127
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh

#free -h
              total        used        free      shared  buff/cache   available
Mem:          125Gi       3.6Gi       121Gi        12Mi       1.0Gi       122Gi
Swap:         2.0Gi          0B       2.0Gi

#cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/boot/vmlinuz-6.6.71-3_rc1.al8.aarch64 root=UUID=d0af582f-7147-41de-85e3-deb2e14cde99 ro biosdevname=0 rd.driver.pre=ahci iommu.passthrough=1 iommu.strict=0 nospectre_bhb ssbd=force-off systemd.unified_cgroup_hierarchy=0 cgroup.memory=nokmem console=ttyS0,115200 fsck.repair=yes crashkernel=0M-2G:0M,2G-256G:256M,256G-1024G:320M,1024G-:384M

[重现步骤]:
git clone https://gitlab.alibaba-inc.com/xize.gx/erofs-utils-tests.git  --branch 5.10
cd erofs-utils-tests
./autogen.sh
./configure
yum install -y erofs-utils
make check

[期望结果]:
用例执行PASS

[实际结果]:
用例执行Fail

[分析]
erofs/006用例分析:
测试代码如下:
sum1=`$FSSUM_PROG $FSSUM_OPTS $localdir`
echo "$localdir checksum is $sum1" >>$seqres.full
sum2=`$FSSUM_PROG $FSSUM_OPTS $SCRATCH_MNT`
echo "$SCRATCH_MNT checksum is $sum2" >>$seqres.full

测试点:
将/erofs_test_dir/1051037/erofs_006.img挂载在/erofs_test_dir/1051037/006和/tmp/erofstest/scratch两个目录,比较/erofs_test_dir/1051037/006和/tmp/erofstest/scratch目录的md5值,预期两者相等
Comment 1 lv0322 alibaba_cloud_group 2025-03-06 17:44:06 UTC
mm: mTHP user controls to configure pagecache large folio sizes这个补丁为文件增加了大页支持,同时会默认开启。但是这会导致文件系统发生相应的错误。page_cache_ra_order函数中对超出EOF的order判断递减出现逻辑错误,会导致预读超出限制。修复pr已合入anck:https://gitee.com/anolis/cloud-kernel/pulls/4755
Comment 2 zhixin01 alibaba_cloud_group 2025-03-11 15:38:26 UTC
6.6.71-3_rc2.al8.aarch64,erofs/006、erofs/008、erofs/009、erofs/010、erofs/011、erofs/016、erofs/017用例执行成功,问题已解决,关闭bug单

执行结果如下:
PASS: erofs/001
PASS: erofs/002
PASS: erofs/003
PASS: erofs/004
PASS: erofs/005
PASS: erofs/006
PASS: erofs/007
PASS: erofs/008
PASS: erofs/009
PASS: erofs/010
PASS: erofs/011
PASS: erofs/012
PASS: erofs/013
PASS: erofs/014
PASS: erofs/015
PASS: erofs/016
PASS: erofs/017
PASS: erofs/018
PASS: erofs/019
PASS: erofs/020
PASS: erofs/021
PASS: erofs/022
PASS: erofs/024
PASS: erofs/025