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 tapsets/22109] New: on rawhide, we're getting errors in the nfsd tapset


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

            Bug ID: 22109
           Summary: on rawhide, we're getting errors in the nfsd tapset
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tapsets
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

On rawhide (4.13.0-0.rc7.git4.1.fc28.x86_64), we're getting errors like these
when using the nfsd tapset:

====
# stap -p4 ../src.copy/testsuite/buildok/nfsd-detailed.stp 
semantic error: while processing probe
module("nfsd").function("nfsd_proc_lookup@fs/nfsd/nfsproc.c:127") from:
nfsd.proc2.lookup from: nfsd.proc2.lookup

semantic error: not accessible at this address (pc: 0x15935) [man
error::dwarf]: identifier '$argp' at
/usr/local/share/systemtap/tapset/linux/nfsd.stp:268:15
        dieoffset: 0x7e86b from
/usr/lib/debug/lib/modules/4.13.0-0.rc7.git4.1.fc28.x86_64/kernel/fs/nfsd/nfsd.ko.debug
        function: nfsd_proc_lookup at fs/nfsd/nfsproc.c:128
        alternative locations: [0x15950,0x15a38], [0x15a3e,0x15a72]
        source:         fh = & @cast($argp, "nfsd_diropargs",
"kernel:nfsd")->fh
                                     ^

semantic error: not accessible at this address (pc: 0x15935) [man
error::dwarf]: identifier '$argp' at :268:15
        dieoffset: 0x7e86b from
/usr/lib/debug/lib/modules/4.13.0-0.rc7.git4.1.fc28.x86_64/kernel/fs/nfsd/nfsd.ko.debug
        function: nfsd_proc_lookup at fs/nfsd/nfsproc.c:128
        alternative locations: [0x15950,0x15a38], [0x15a3e,0x15a72]
        source:         fh = & @cast($argp, "nfsd_diropargs",
"kernel:nfsd")->fh
                                     ^

Pass 2: analysis failed.  [man error::pass2]
====

At first glance, those errors looked like bad debuginfo errors, but they
aren't.

The upstream kernel has changed from functions like the following (from a RHEL6
kernel):

====
static __be32
nfsd3_proc_create(struct svc_rqst *rqstp, struct nfsd3_createargs *argp,
                                          struct nfsd3_diropres   *resp)
{
  ... stuff deleted ...
}
====

To the following (from the current upstream kernel):

====
static __be32
nfsd3_proc_create(struct svc_rqst *rqstp)
{
        struct nfsd3_createargs *argp = rqstp->rq_argp;
        struct nfsd3_diropres *resp = rqstp->rq_resp;

  ... stuff deleted ...
}
====

The 'argp' and 'resp' arguments got removed, but locals with the same names
were created. Systemtap has been bravely attempting to use these locals (and
succeeding at times). When trying to access 'argp' in return probes, that
failed (as it should, since we can only access function parameters in return
probes, not local variables).

The nfsd tapset should be updated to handle these upstream kernel changes.

-- 
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]