Bug 1657186
| Summary: | nfsd-trace.stp regressed comparing rhel8 to rhel7 (error::dwarf) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Martin Cermak <mcermak> |
| Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Martin Cermak <mcermak> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.0 | CC: | lberk, mcermak, mjw |
| Target Milestone: | rc | Flags: | pm-rhel:
mirror+
|
| Target Release: | 8.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | systemtap-4.0-5.el8 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-06-14 02:02:38 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1651314 | ||
| Bug Blocks: | |||
There are similar problems in this area already: bz1107616, bz1094816 . This might easily be a WONTFIX with rationale similar to bz1107616#c8 . I believe these guys should actually fix the problem:
commit 4e81610ae8c233d876f378cca8374e34cc2ee0e8
Author: Frank Ch. Eigler <fche>
Date: Fri Oct 19 19:31:31 2018 -0400
nfsd tapset: adapt nfsd.proc4.commit probe to different kernel versions
commit 8bc64034509474bee3fb7996b2a9e74c8bc27281
Author: Frank Ch. Eigler <fche>
Date: Fri Oct 19 17:36:04 2018 -0400
nfsd tapset: adapt nfsd.proc4.read probe to different kernel versions
Here too an if(@defined($u)) is appropriate, just like in the .write case.
I can confirm that this problem is gone with upstream 891810c24. Thanks! Fixed in systemtap-4.0-7.el8. |
The nfsd-trace.stp (systemtap-4.0-3.el8.x86_64) started to fail on rhel8 (compared to rhel7). The problem seems to be the kernel debuginfo quality: ======= 8.0 Server x86_64 # stap -P -p4 /usr/share/systemtap/examples/network/nfsd-trace.stp semantic error: while processing probe module("nfsd").function("nfsd4_read@fs/nfsd/nfs4proc.c:752").call from: nfsd.proc4.read from: nfsd.proc.read from: nfsd.proc.entries from: nfsd.proc.entries semantic error: failed to retrieve location attribute for 'read' [man error::dwarf]: identifier '$read' at /usr/share/systemtap/tapset/linux/nfsd.stp:570:10 dieoffset: 0x1dae8a from /usr/lib/debug/lib/modules/4.18.0-40.el8.x86_64/kernel/fs/nfsd/nfsd.ko.debug function: nfsd4_read at fs/nfsd/nfs4proc.c:759:5 source: count = $read->rd_length ^ semantic error: failed to retrieve location attribute for 'read' [man error::dwarf]: identifier '$read' at :570:10 dieoffset: 0x1dae8a from /usr/lib/debug/lib/modules/4.18.0-40.el8.x86_64/kernel/fs/nfsd/nfsd.ko.debug function: nfsd4_read at fs/nfsd/nfs4proc.c:759:5 source: count = $read->rd_length ^ Pass 2: analysis failed. [man error::pass2] (1) 8.0 Server x86_64 # ======= The symbol in question appears to actually be present in the kernel source: ======= 8.0 Server x86_64 # nl -ba /usr/src/debug/kernel-4.18.0-40.el8/linux-4.18.0-40.el8.x86_64/fs/nfsd/nfs4proc.c | sed '751,755!d' 751 static __be32 752 nfsd4_read(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, 753 union nfsd4_op_u *u) 754 { 755 struct nfsd4_read *read = &u->read; 8.0 Server x86_64 # ======= Prologue search doesn't seem to help here.