This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug tapsets/16541] nfsd tapset has errors
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 07 Feb 2014 19:41:07 +0000
- Subject: [Bug tapsets/16541] nfsd tapset has errors
- Auto-submitted: auto-generated
- References: <bug-16541-6586 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16541
--- Comment #1 from David Smith <dsmith at redhat dot com> ---
(In reply to David Smith from comment #0)
> 1) nfsd.close error accessing $filp.
>
> ====
> semantic error: not accessible at this address [man error::dwarf] (0x18707,
> dieoffset: 0x5a932): identifier '$filp' at :1100:29
> source: filename = __file_filename($filp)
> ====
>
> The first thing to do is see what parameters (if any) stap can see for that
> function:
>
> # stap -L 'module("nfsd").function("nfsd_close").*'
> module("nfsd").function("nfsd_close@fs/nfsd/vfs.c:856").call $filp:struct
> file*
> module("nfsd").function("nfsd_close@fs/nfsd/vfs.c:856").exported
> $filp:struct file*
> module("nfsd").function("nfsd_close@fs/nfsd/vfs.c:856").inline
> module("nfsd").function("nfsd_close@fs/nfsd/vfs.c:856").return $filp:struct
> file*
>
> So, stap can see $filp except for the inlined version, which isn't too
> surprising since gcc typically generates poor debuginfo for inlined
> functions.
>
> The solution here is to use the '.call' version on the probe points. This
> will ensure that stap can find $filp and 'nfsd.close' probe hits will match
> more closely with 'nfsd.close.return' probe hits.
Another solution here (and perhaps a better one) would be to not return the
filename if we can't find it, with something like the following:
filename = @choose_defined($filp, "")
--
You are receiving this mail because:
You are the assignee for the bug.