This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Review of the systemtap examples testsuite results x86 Fedora rawhide
- From: William Cohen <wcohen at redhat dot com>
- To: systemtap at sourceware dot org
- Date: Thu, 14 Feb 2019 14:46:49 -0500
- Subject: Re: Review of the systemtap examples testsuite results x86 Fedora rawhide
- References: <a4d88444-060d-b6c9-3fdc-d56526c810a0@redhat.com>
On 2/6/19 4:41 PM, William Cohen wrote:
> The following two tests seem to be having issues with the
> kernel.statement() on do_sys_open being used for them. Both get
> "inconsistent relocation address".
>
> FAIL: systemtap.examples/general/varwatch build
> FAIL: systemtap.examples/general/whythefail build
There seems to be some issue with the probing each of the line number in the function:
>From systemtap.log for varwatch:
attempting command stap -wp4 varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars'
OUT semantic error: inconsistent relocation address: keyword at varwatch.stp:5:1
source: probe $1 {
^
Pass 2: analysis failed. [man error::pass2]
Number of similar error messages suppressed: 14.
Rerun with -v to see them.
child process exited abnormally
RC 1
FAIL: systemtap.examples/general/varwatch build
What is meant by "inconsistent relocation address"? What is that check in tapsets.cxx trying to address?
I ran the following command on 5.0.0-0.rc6.git0.1.fc30.x86_64 below. There are lines of code that are not listed: 1051, 1054, 1057, and 1059. However, trying to specify most of these lines that match the wildcard below explicitly yield the "inconsistent relocation address" error. Looking through dejazilla information for varwatch test results the 4.15 kernels seemed to passed, but the test(s) started failing with linux-4.17.0 about 7 months ago. It might be something due to gcc 8 as I didn't find any failures using GCC 7 compilers in the queries:
gcc8 based (https://web.elastic.org/~dejazilla/view.php?_offset=0&_limit=400&_sort=1A&summary=&age=&rg=&tool=&variant=&versions=LIKE+%27%25kernel%3A4.1%25gcc%3A8.%25%27&testcase=LIKE+%27%25varwatch%25build%25%27&result=)
gcc7 based (https://web.elastic.org/~dejazilla/view.php?_offset=0&_limit=400&_offset=0&summary=&age=&rg=&tool=&variant=&versions=LIKE+%27%25kernel%3A4.1%25gcc%3A7.%25%27&testcase=LIKE+%27%25varwatch%25build%25%27&result=)
-Will
$ stap -L 'kernel.statement("do_sys_open@fs/open.c:*")'
kernel.statement("do_sys_open@fs/open.c:1049") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags
kernel.statement("do_sys_open@fs/open.c:1050") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags
kernel.statement("do_sys_open@fs/open.c:1052") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int
kernel.statement("do_sys_open@fs/open.c:1055") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags
kernel.statement("do_sys_open@fs/open.c:1058") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1061") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1062") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1063") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1064") $f:struct file* $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1065") $f:struct file* $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1066") $f:struct file* $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1068") $f:struct file* $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1069") $f:struct file* $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1072") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1073") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags $fd:int $tmp:struct filename*
kernel.statement("do_sys_open@fs/open.c:1074") $dfd:int $filename:char const* $flags:int $mode:umode_t $op:struct open_flags