[缺陷描述]: perf-sanity-tests->dlfilter_C_API用例fail,Check 'al->sym && !strcmp("foo", al->sym)' failed 详细日志如下: # perf test 67 -v 67: dlfilter C API : --- start --- test child forked, pid 45126 -- Testing version 0 API -- Checking for gcc Command: gcc --version gcc (GCC) 12.3.0 20230508 (Anolis OS 12.3.0-2) Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. dlfilters path: /usr/libexec/perf-core/dlfilters Command: gcc -g -o /tmp/dlfilter-test-45126-prog /tmp/dlfilter-test-45126-prog.c Creating new host machine structure Command: /usr/bin/perf script -i /tmp/dlfilter-test-45126-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v0.so --dlarg first --dlarg 1 --dlarg 4260256 --dlarg 4260248 --dlarg 0 --dlarg last start API filter_event_early API filter_event API Check 'al->sym && !strcmp("foo", al->sym)' failed stop API Failed with return value 65280 test child finished with -1 ---- end ---- dlfilter C API: FAILED! perf版本: # rpm -qa |grep perf perf-6.6.25-2_rc1.an23.aarch64 python3-perf-6.6.25-2_rc1.an23.aarch64 perf-debuginfo-6.6.25-2_rc1.an23.aarch64 python3-perf-debuginfo-6.6.25-2_rc1.an23.aarch64 #gcc -v gcc version 12.3.0 20230508 (Anolis OS 12.3.0-2) (GCC) [重现概率]: 必现 [重现环境]: 环境信息:ecs 内核信息: # uname -r 6.6.25-2_rc1.an23.aarch64 版本信息: # cat /etc/os-release NAME="Anolis OS" VERSION="23" ID="anolis" VERSION_ID="23" PLATFORM_ID="platform:an23" PRETTY_NAME="Anolis OS 23" ANSI_COLOR="0;31" HOME_URL="https://openanolis.cn/" BUG_REPORT_URL="https://bugzilla.openanolis.cn/" 内存信息: # free -h total used free shared buff/cache available Mem: 30Gi 508Mi 27Gi 1.2Gi 2.2Gi 28Gi Swap: 0B 0B 0B cpu信息: # lscpu Architecture: aarch64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Vendor ID: ARM BIOS Vendor ID: Alibaba Cloud Model name: Neoverse-N2 BIOS Model name: virt-rhel7.6.0 CPU @ 2.0GHz BIOS CPU family: 1 Model: 0 Thread(s) per core: 1 Core(s) per socket: 8 Socket(s): 1 Stepping: r0p0 BogoMIPS: 100.00 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 ssbs sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8m m bf16 dgh Caches (sum of all): L1d: 512 KiB (8 instances) L1i: 512 KiB (8 instances) L2: 8 MiB (8 instances) L3: 64 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0-7 Vulnerabilities: Gather data sampling: Not affected Itlb multihit: Not affected L1tf: Not affected Mds: Not affected Meltdown: Not affected Mmio stale data: Not affected Reg file data sampling: Not affected Retbleed: Not affected Spec rstack overflow: Not affected Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl Spectre v1: Mitigation; __user pointer sanitization Spectre v2: Mitigation; CSV2, BHB Srbds: Not affected Tsx async abort: Not affected [重现步骤]: yum install perf-6.6.25-2_rc1.an23.x86_64.rpm perf test 67 -v(67是dlfilter_C_API用例编号,可通过perf test list查询) [期望结果]: 用例执行pass [实际结果]: 用例执行fail
arm环境上未能复现。。 test child finished with 0 ---- end ---- dlfilter C API: Ok [root@iZbp143ti4ccpaufkzata3Z ~]# rpm -qa | grep perf python3-perf-6.6.25-2_rc1.an23.aarch64 perf-debuginfo-6.6.25-2_rc1.an23.aarch64 perf-6.6.25-2_rc1.an23.aarch64
未能复现,置为invalid
更换机器重新执行,该用例pass,bug关闭,日志如下: # perf test 67 -v 67: dlfilter C API : --- start --- test child forked, pid 324811 -- Testing version 0 API -- Checking for gcc Command: gcc --version gcc (GCC) 12.3.0 20230508 (Anolis OS 12.3.0-2) Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. dlfilters path: /usr/libexec/perf-core/dlfilters Command: gcc -g -o /tmp/dlfilter-test-324811-prog /tmp/dlfilter-test-324811-prog.c Creating new host machine structure Command: /usr/bin/perf script -i /tmp/dlfilter-test-324811-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v0.so --dlarg first --dlarg 1 --dlarg 4195936 --dlarg 4195928 --dlarg 0 --dlarg last start API filter_event_early API filter_event API stop API Command: /usr/bin/perf script -i /tmp/dlfilter-test-324811-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v0.so --dlarg first --dlarg 1 --dlarg 4195936 --dlarg 4195928 --dlarg 1 --dlarg last start API filter_event_early API filter_event API stop API Command: /usr/bin/perf script -i /tmp/dlfilter-test-324811-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v0.so --dlarg first --dlarg 1 --dlarg 4195936 --dlarg 4195928 --dlarg 2 --dlarg last start API filter_event_early API stop API -- Testing version 2 API -- Checking for gcc Command: gcc --version gcc (GCC) 12.3.0 20230508 (Anolis OS 12.3.0-2) Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. dlfilters path: /usr/libexec/perf-core/dlfilters Command: gcc -g -o /tmp/dlfilter-test-324811-prog /tmp/dlfilter-test-324811-prog.c Creating new host machine structure Command: /usr/bin/perf script -i /tmp/dlfilter-test-324811-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v2.so --dlarg first --dlarg 1 --dlarg 4195936 --dlarg 4195928 --dlarg 0 --dlarg last start API filter_event_early API filter_event API stop API Command: /usr/bin/perf script -i /tmp/dlfilter-test-324811-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v2.so --dlarg first --dlarg 1 --dlarg 4195936 --dlarg 4195928 --dlarg 1 --dlarg last start API filter_event_early API filter_event API stop API Command: /usr/bin/perf script -i /tmp/dlfilter-test-324811-perf-data --dlfilter /usr/libexec/perf-core/dlfilters/dlfilter-test-api-v2.so --dlarg first --dlarg 1 --dlarg 4195936 --dlarg 4195928 --dlarg 2 --dlarg last start API filter_event_early API stop API test child finished with 0 ---- end ---- dlfilter C API: Ok