Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1652740

Summary: can't resolve some kernel function parameters; partial-inlining, debuginfo problem
Product: Red Hat Enterprise Linux 8 Reporter: Frank Ch. Eigler <fche>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
systemtap sub component: system-version QA Contact: qe-baseos-tools-bugs
Status: CLOSED CURRENTRELEASE Docs Contact:
Severity: unspecified    
Priority: unspecified CC: dsmith, lberk, mcermak, mjw
Version: 8.0Keywords: Triaged
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.0   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-22 12:22:16 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: 1169184, 1173076, 1785287    
Bug Blocks:    

Description Frank Ch. Eigler 2018-11-22 18:38:36 UTC
kernel 4.18.0-28.el8 + debuginfo
systemtap 4.0-something

% stap -p4 -e 'probe module("*").function("rpc_call_sync") { println($clnt) }'
location attribute for 'clnt' [man error::dwarf]: identifier '$clnt' at <input>:1:55
        dieoffset: 0x2d10e from /usr/lib/debug/lib/modules/4.18.0-28.el8.x86_64/kernel/net/sunrpc/sunrpc.ko.debug
        function: rpc_call_sync at net/sunrpc/clnt.c:1064:5
        source: probe module("*").function("rpc_call_sync") { println($clnt) }

Comment 1 Frank Ch. Eigler 2018-11-22 18:45:06 UTC
In this case, .part. inlining seems responsible; one copy has parameters, another one doesn't.

% stap -vv -p4 -e 'probe module("sunrpc").function("rpc_call_sync") { println($msg) }'

probe rpc_call_sync@net/sunrpc/clnt.c:1064 module=sunrpc reloc=.text pc=0x12ba0
probe rpc_call_sync@net/sunrpc/clnt.c:1064 module=sunrpc reloc=.text pc=0x118a0
semantic error: while processing probe module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064") from: module("sunrpc").function("rpc_call_sync")
   thrown from: elaborate.cxx:5832
semantic error: failed to retrieve location attribute for 'msg' [man error::dwarf]: identifier '$msg' at <input>:1:60
        dieoffset: 0x2d109 from /usr/lib/debug/lib/modules/4.18.0-28.el8.x86_64/kernel/net/sunrpc/sunrpc.ko.debug
        function: rpc_call_sync at net/sunrpc/clnt.c:1064:5
   thrown from: dwflpp.cxx:3993
        source: probe module("sunrpc").function("rpc_call_sync") { println($msg) }

Comment 2 Martin Cermak 2018-11-22 20:17:26 UTC
Observable on x86_64, ppc64le, s390x.  The aarch64 platform seems unaffected.

Comment 3 Frank Ch. Eigler 2018-11-27 15:38:11 UTC
blocked by absence of relevant debuginfo from gcc

Comment 4 Martin Cermak 2018-12-10 17:00:52 UTC
Another similar problem is the unreachability of function parameters in the main ppc64le fork-routine _do_fork():

=======
 8.0 Server ppc64le # nl -ba /root/rpmbuild/BUILD/kernel-4.18.0-50.el8/linux-4.18.0-50.el8.ppc64le/kernel/fork.c | sed '2088,2102!d'
  2088  }
  2089  
  2090  /*
  2091   *  Ok, this is the main fork-routine.
  2092   *
  2093   * It copies the process, and if successful kick-starts
  2094   * it and waits for it to finish using the VM if required.
  2095   */
  2096  long _do_fork(unsigned long clone_flags,
  2097                unsigned long stack_start,
  2098                unsigned long stack_size,
  2099                int __user *parent_tidptr,
  2100                int __user *child_tidptr,
  2101                unsigned long tls)
  2102  {
 8.0 Server ppc64le #
=======

No parameters are available there:

=======
 8.0 Server ppc64le # stap -L 'kernel.function("_do_fork")'
kernel.function("_do_fork@kernel/fork.c:2096")
 8.0 Server ppc64le #
=======

This is a regression compared to rhel7.

Comment 6 Frank Ch. Eigler 2020-04-22 12:22:16 UTC
verified with rhel 8.2 binaries