Bug 1890702

Summary: suppress-time-limits breaks pretty-printing variables
Product: Red Hat Enterprise Linux 8 Reporter: Frank Sorenson <fsorenso>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
systemtap sub component: system-version QA Contact: Martin Cermak <mcermak>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: unspecified CC: dsmith, lberk, mcermak, mjw
Version: 8.2Keywords: Bugfix, Triaged
Target Milestone: rc   
Target Release: 8.0   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: systemtap-4.4-1.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-18 15:44:32 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:
Attachments:
Description Flags
patch none

Description Frank Sorenson 2020-10-22 18:19:11 UTC
Created attachment 1723597 [details]
patch

Description of problem:

When --suppress-time-limits is used, pretty-printing a variable errors out because 'c->actionremaining' does not exist.


Version-Release number of selected component (if applicable):

systemtap-4.3-4.el8.x86_64
(also upstream)


How reproducible:

easy - see reproducer below


Steps to Reproduce:

# stap -g --suppress-time-limits -e 'probe kernel.function("vfs_open") { printf("%s(path: %s)\n", ppfunc(), $path$) ; exit() }'


Actual results:

# stap -g --suppress-time-limits -e 'probe kernel.function("vfs_open") { printf("%s(path: %s)\n", ppfunc(), $path$) ; exit() }'
In file included from ./include/asm-generic/bug.h:5,
                 from ./arch/x86/include/asm/bug.h:83,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/mmdebug.h:5,
                 from ./include/linux/gfp.h:5,
                 from /usr/share/systemtap/runtime/linux/runtime_defines.h:20,
                 from /usr/share/systemtap/runtime/runtime_defines.h:8,
                 from /tmp/stapOB8ktB/stap_f29b1e04055fa15fd509a1ac4a2dee7e_3030_src.c:12:
/tmp/stapOB8ktB/stap_f29b1e04055fa15fd509a1ac4a2dee7e_3030_src.c: In function ‘function___private__input___dwarf_pretty_print_0’:
/tmp/stapOB8ktB/stap_f29b1e04055fa15fd509a1ac4a2dee7e_3030_src.c:545:20: error: ‘struct context’ has no member named ‘actionremaining’
     if (unlikely (c->actionremaining <= 0)) goto out;
                    ^~
./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’
 # define unlikely(x) __builtin_expect(!!(x), 0)
                                          ^
/tmp/stapOB8ktB/stap_f29b1e04055fa15fd509a1ac4a2dee7e_3030_src.c: In function ‘function___private__input___dwarf_pretty_print_1’:
/tmp/stapOB8ktB/stap_f29b1e04055fa15fd509a1ac4a2dee7e_3030_src.c:626:20: error: ‘struct context’ has no member named ‘actionremaining’
     if (unlikely (c->actionremaining <= 0)) goto out;
                    ^~
./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’
 # define unlikely(x) __builtin_expect(!!(x), 0)
                                          ^
make[1]: *** [scripts/Makefile.build:312: /tmp/stapOB8ktB/stap_f29b1e04055fa15fd509a1ac4a2dee7e_3030_src.o] Error 1
make: *** [Makefile:1545: _module_/tmp/stapOB8ktB] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed.  [man error::pass4]


Expected results:

compilation succeeds


Additional info:

patch attached

Comment 1 Frank Ch. Eigler 2020-10-22 19:38:49 UTC
upstream commit 6ecb85fdae111f8949f485566b7192b2858a04fb
we will roll this into the planned 8.4 rebase

Comment 8 errata-xmlrpc 2021-05-18 15:44:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (systemtap bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1829