This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/24224] New: tapsets.cxx Assert kernel relocation invariants fails for some kernel.function("*@*.c:*") probes


https://sourceware.org/bugzilla/show_bug.cgi?id=24224

            Bug ID: 24224
           Summary: tapsets.cxx Assert kernel relocation invariants fails
                    for some kernel.function("*@*.c:*") probes
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: wcohen at redhat dot com
  Target Milestone: ---

On Fedora rawhide (kernel-5.0.0-0.rc6.git1.1.fc30.x86_64) a couple of the
systemtap examples whythefail.stp and varwatch.stp tests runs probe
kernel.statement("kernel_function"@file.c:*").  The scripts fail to run due to
tapsets.cxx throwing the error:

inconsistent relocation address

Below is the parts of the systemtap.log with the failures:

PRETEST PWD=/usr/share/systemtap/testsuite
meta taglines '' tag 'test_support' value ''
TEST PWD=/usr/share/systemtap/testsuite/systemtap.examples/general
meta taglines 'test_check: stap -wp4 varwatch.stp
'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars'' tag 'test_check' value
'stap -wp4 varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars''
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


PRETEST PWD=/usr/share/systemtap/testsuite
meta taglines '' tag 'test_support' value ''
TEST PWD=/usr/share/systemtap/testsuite/systemtap.examples/general
meta taglines 'test_check: stap -p4 whythefail.stp kernel do_sys_open '$return
< 0'' tag 'test_check' value 'stap -p4 whythefail.stp kernel do_sys_open
'$return < 0''
attempting command stap -p4 whythefail.stp kernel do_sys_open '$return < 0'
OUT semantic error: inconsistent relocation address: keyword at
whythefail.stp:37:1
        source: probe $1 . statement(@2 "@*:*") {
                ^

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/whythefail build


The linetime example is also using a 'kernel.statement("do_nanosleep@*:*")',
but that does not trigger the error and the test passes.  It looks like
something is going wrong in the assert tests for the code below (some
diagnostic prints showed that the section was "_stext" rather than "" for a run
of varwatch.stp:


      // Assert kernel relocation invariants
      if (section == "" && dwfl_addr != addr) // addr should be absolute
        throw SEMANTIC_ERROR (_("missing relocation basis"), tok);
      if (section != "" && dwfl_addr == addr) // addr should be an offset
        throw SEMANTIC_ERROR (_("inconsistent relocation address"), tok);
    }

-- 
You are receiving this mail because:
You are the assignee for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]