* [Bug tapsets/16541] New: nfsd tapset has errors @ 2014-02-07 19:28 dsmith at redhat dot com 2014-02-07 19:41 ` [Bug tapsets/16541] " dsmith at redhat dot com ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: dsmith at redhat dot com @ 2014-02-07 19:28 UTC (permalink / raw) To: systemtap https://sourceware.org/bugzilla/show_bug.cgi?id=16541 Bug ID: 16541 Summary: nfsd tapset has errors Product: systemtap Version: unspecified Status: NEW Severity: normal Priority: P2 Component: tapsets Assignee: systemtap at sourceware dot org Reporter: dsmith at redhat dot com On newer kernels, the nfsd tapset has errors. This tapset gets tested by the buildok.exp testcase, but since the test gets kfail'ed, these errors have gone unnoticed. Looking at the output of the following command, there are 2 classes of errors: # stap -v -p4 src/testsuite/buildok/nfsd-detailed.stp 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. 2) Problems accessing cr_uid/cr_gid ==== semantic error: 'struct {...}' is being accessed instead of a member: identifier '$rqstp' at /usr/local/share/systemtap/tapset/linux/nfsd.stp:233:8 source: uid = $rqstp->rq_cred->cr_uid ==== This is happening because this kernel has CONFIG_UIDGID_STRICT_TYPE_CHECKS on, and uid/gid fields are simple integers anymore, but structures. -- You are receiving this mail because: You are the assignee for the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tapsets/16541] nfsd tapset has errors 2014-02-07 19:28 [Bug tapsets/16541] New: nfsd tapset has errors dsmith at redhat dot com @ 2014-02-07 19:41 ` dsmith at redhat dot com 2014-02-10 19:08 ` dsmith at redhat dot com 2014-02-10 21:22 ` dsmith at redhat dot com 2 siblings, 0 replies; 4+ messages in thread From: dsmith at redhat dot com @ 2014-02-07 19:41 UTC (permalink / raw) To: systemtap 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. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tapsets/16541] nfsd tapset has errors 2014-02-07 19:28 [Bug tapsets/16541] New: nfsd tapset has errors dsmith at redhat dot com 2014-02-07 19:41 ` [Bug tapsets/16541] " dsmith at redhat dot com @ 2014-02-10 19:08 ` dsmith at redhat dot com 2014-02-10 21:22 ` dsmith at redhat dot com 2 siblings, 0 replies; 4+ messages in thread From: dsmith at redhat dot com @ 2014-02-10 19:08 UTC (permalink / raw) To: systemtap https://sourceware.org/bugzilla/show_bug.cgi?id=16541 David Smith <dsmith at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from David Smith <dsmith at redhat dot com> --- Fixed in commit 21cae09. -- You are receiving this mail because: You are the assignee for the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tapsets/16541] nfsd tapset has errors 2014-02-07 19:28 [Bug tapsets/16541] New: nfsd tapset has errors dsmith at redhat dot com 2014-02-07 19:41 ` [Bug tapsets/16541] " dsmith at redhat dot com 2014-02-10 19:08 ` dsmith at redhat dot com @ 2014-02-10 21:22 ` dsmith at redhat dot com 2 siblings, 0 replies; 4+ messages in thread From: dsmith at redhat dot com @ 2014-02-10 21:22 UTC (permalink / raw) To: systemtap https://sourceware.org/bugzilla/show_bug.cgi?id=16541 --- Comment #3 from David Smith <dsmith at redhat dot com> --- Fixes for kernels with nfsd in a module was added in commit a23b5a0. -- You are receiving this mail because: You are the assignee for the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-02-10 21:22 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-02-07 19:28 [Bug tapsets/16541] New: nfsd tapset has errors dsmith at redhat dot com 2014-02-07 19:41 ` [Bug tapsets/16541] " dsmith at redhat dot com 2014-02-10 19:08 ` dsmith at redhat dot com 2014-02-10 21:22 ` dsmith at redhat dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).