Re: [linus:master] [perf symbols] ce4c8e7966: perf-sanity-tests.Test_data_symbol.fail

From: Adrian Hunter
Date: Fri Mar 17 2023 - 02:26:55 EST


On 16/03/23 08:18, Yujie Liu wrote:
> On Mon, Mar 06, 2023 at 03:20:09PM +0200, Adrian Hunter wrote:
>> On 6/03/23 08:30, kernel test robot wrote:
>>> Greeting,
>>>
>>> FYI, we sent a report when this commit was in linux-next/master:
>>>
>>> https://lore.kernel.org/all/202302092156.c0b14693-oliver.sang@xxxxxxxxx/
>>>
>>> This commit has been merged to mainline and we still observe similar
>>> failures, so we report again FYI.
>>>
>>> We noticed perf-sanity-tests.Test_data_symbol.fail due to commit (built with gcc-11):
>>>
>>> commit: ce4c8e7966f317ef2af896778b5fa9105a5cd351 ("perf symbols: Get symbols for .plt.got for x86-64")
>>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>>>
>>> [test failed on linux-next/master 1acf39ef8f1425cd105f630dc2c7c1d8fff27ed1]
>>>
>>> in testcase: perf-sanity-tests
>>> version:
>>> with following parameters:
>>>
>>> perf_compiler: clang
>>>
>>> on test machine: 8 threads 1 sockets Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (Kaby Lake) with 32G memory
>>>
>>> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
>>>
>>>
>>> 2023-02-08 19:29:00 sudo /usr/src/perf_selftests-x86_64-rhel-8.3-func-ce4c8e7966f317ef2af896778b5fa91
>>> 05a5cd351/tools/perf/perf test 105
>>> 105: Test data symbol : FAILED!
>>>
>>>
>>> =========================================================================================
>>> tbox_group/testcase/rootfs/kconfig/compiler/perf_compiler:
>>> lkp-kbl-d01/perf-sanity-tests/debian-11.1-x86_64-20220510.cgz/x86_64-rhel-8.3-func/gcc-11/clang
>>>
>>> commit:
>>> 51a188ad8c2d8 ("perf symbols: Start adding support for .plt.got for x86")
>>> ce4c8e7966f31 ("perf symbols: Get symbols for .plt.got for x86-64")
>>>
>>> 51a188ad8c2d89c5 ce4c8e7966f317ef2af896778b5
>>> ---------------- ---------------------------
>>> fail:runs %reproduction fail:runs
>>> | | |
>>> :6 50% 3:6 perf-sanity-tests.Check_branch_stack_sampling.fail
>>> :6 100% 6:6 perf-sanity-tests.Test_data_symbol.fail
>>> :6 33% 2:6 perf-sanity-tests.perf_record_tests.fail
>>>
>>>
>>> If you fix the issue, kindly add following tag
>>> | Reported-by: kernel test robot <yujie.liu@xxxxxxxxx>
>>> | Link: https://lore.kernel.org/oe-lkp/202303061424.6ad43294-yujie.liu@xxxxxxxxx
>>>
>>>
>>> To reproduce:
>>>
>>> git clone https://github.com/intel/lkp-tests.git
>>> cd lkp-tests
>>> sudo bin/lkp install job.yaml # job file is attached in this email
>>> bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
>>> sudo bin/lkp run generated-yaml-file
>>>
>>> # if come across any failure that blocks the test,
>>> # please remove ~/.lkp and /lkp dir to run from a clean state.
>>
>> Works fine for me. See below.
>>
>> You will have to debug your environment:
>> Add option -v to perf test (e.g. perf test -c "data symbol") and
>> add 'set -x' to tools/perf/tests/shell/test_data_symbol.sh
>
> Thanks for the suggestion on debugging our environment.
>
> We found that we were asked by developers to run perf test with
> sanitizer on, so we build perf with some additional flags like
> `make EXTRA_CFLAGS="-fsanitize=undefined -fsanitize=address"`, and the
> test_data_symbol failure only happens when these flags are set, but
> won't happen if do a make without those flags.
>
> Could you please help check if above flags could impact the behavior of
> perf test? Thanks.
>

Thanks for the information.

I sent 3 patches which should fix the test case:

https://lore.kernel.org/lkml/?q=%3C20230316194156.8320-1-adrian.hunter%40intel.com%3E