Bug 1949989

Summary: Cannot use systemtap with debug kernel: "error: the frame size of 976 bytes is larger than 512 bytes"
Product: Red Hat Enterprise Linux 8 Reporter: Renaud Métrich <rmetrich>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
systemtap sub component: system-version QA Contact: Martin Cermak <mcermak>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: low CC: lberk, mcermak, mjw
Version: 8.3Keywords: Bugfix, Patch, Triaged
Target Milestone: beta   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: systemtap-4.5-1.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 18:15:41 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:

Description Renaud Métrich 2021-04-15 14:29:58 UTC
Description of problem:

When having the debug kernel booted, it's not possible to use systemtap at all, the following compilation error happens all the time, at least with "print_usyms(ubacktrace()":
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
# stap -v -e 'probe syscall.openat.call { print_usyms(ubacktrace()) }'

Pass 1: parsed user script and 490 library scripts using 445744virt/126108res/11636shr/114032data kb, in 220usr/190sys/423real ms.
Pass 2: analyzed script: 4 probes, 8 functions, 98 embeds, 4 globals using 449836virt/130132res/11708shr/118124data kb, in 60usr/10sys/61real ms.
Pass 3: translated to C into "/tmp/stapW897mJ/stap_f8ca41443b1e9d3d1f2dae4853db5aeb_67475_src.c" using 450416virt/132048res/13012shr/118704data kb, in 20usr/1650sys/1882real ms.
In file included from /usr/share/systemtap/runtime/linux/runtime.h:269,
                 from /usr/share/systemtap/runtime/runtime.h:26,
                 from /tmp/stapW897mJ/stap_f8ca41443b1e9d3d1f2dae4853db5aeb_67475_src.c:21:
/usr/share/systemtap/runtime/unwind.c: In function ‘unwind_frame’:
/usr/share/systemtap/runtime/unwind.c:1473:1: error: the frame size of 976 bytes is larger than 512 bytes [-Werror=frame-larger-than=]
 }
 ^
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.build:315: /tmp/stapW897mJ/stap_f8ca41443b1e9d3d1f2dae4853db5aeb_67475_src.o] Error 1
make: *** [Makefile:1544: _module_/tmp/stapW897mJ] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compiled C into "stap_f8ca41443b1e9d3d1f2dae4853db5aeb_67475.ko" in 6390usr/5190sys/10408real ms.
Pass 4: compilation failed.  [man error::pass4]
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------


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

systemtap-4.3-4.el8.x86_64

How reproducible:

Always, see above.

Comment 1 Frank Ch. Eigler 2021-04-15 19:50:19 UTC
Will roll in upstream commit ad5fab9fe6 into the forthcoming 8.5 rebase.

Comment 3 Martin Cermak 2021-06-02 18:08:33 UTC
Reproduced:

  8.5 Server x86_64 # rpm -q systemtap
systemtap-4.3-4.el8.x86_64
  8.5 Server x86_64 # uname -r
4.18.0-310.el8.x86_64+debug
  8.5 Server x86_64 # stap -v -e 'probe syscall.openat.call { print_usyms(ubacktrace()) }'
Pass 1: parsed user script and 479 library scripts using 241660virt/84308res/12880shr/70936data kb, in 190usr/370sys/862real ms.
Pass 2: analyzed script: 4 probes, 8 functions, 98 embeds, 4 globals using 243244virt/86440res/13476shr/72520data kb, in 50usr/0sys/55real ms.
Pass 3: translated to C into "/tmp/stapkbmm1X/stap_3e45a15ce1cb9d1df8068dd827366a90_67418_src.c" using 243736virt/87624res/14140shr/73012data kb, in 30usr/4380sys/5298real ms.
In file included from /usr/share/systemtap/runtime/linux/runtime.h:269,
                 from /usr/share/systemtap/runtime/runtime.h:26,
                 from /tmp/stapkbmm1X/stap_3e45a15ce1cb9d1df8068dd827366a90_67418_src.c:21:
/usr/share/systemtap/runtime/unwind.c: In function ‘unwind_frame’:
/usr/share/systemtap/runtime/unwind.c:1473:1: error: the frame size of 976 bytes is larger than 512 bytes [-Werror=frame-larger-than=]
 }
 ^
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.build:315: /tmp/stapkbmm1X/stap_3e45a15ce1cb9d1df8068dd827366a90_67418_src.o] Error 1
make: *** [Makefile:1569: _module_/tmp/stapkbmm1X] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compiled C into "stap_3e45a15ce1cb9d1df8068dd827366a90_67418.ko" in 20840usr/25940sys/53271real ms.
Pass 4: compilation failed.  [man error::pass4]
(1)   8.5 Server x86_64 # 



Verified

  8.5 Server x86_64 # rpm -q systemtap
systemtap-4.5-1.el8.x86_64
  8.5 Server x86_64 # uname -r
4.18.0-310.el8.x86_64+debug
  8.5 Server x86_64 # stap -v -e 'probe syscall.openat.call { print_usyms(ubacktrace()) }'
Pass 1: parsed user script and 483 library scripts using 248536virt/90944res/12636shr/77772data kb, in 170usr/260sys/458real ms.
Pass 2: analyzed script: 4 probes, 8 functions, 98 embeds, 4 globals using 250120virt/93372res/13540shr/79356data kb, in 60usr/10sys/58real ms.
Pass 3: translated to C into "/tmp/staphkIIH1/stap_bc3bab3205bbfbfd14907a72a1a18c6d_66865_src.c" using 250628virt/94472res/14144shr/79864data kb, in 30usr/3470sys/3671real ms.
Pass 4: compiled C into "stap_bc3bab3205bbfbfd14907a72a1a18c6d_66865.ko" in 22440usr/28280sys/56208real ms.
Pass 5: starting run.
 0x7f652ce600d6 : 0x7f652ce600d6 [/usr/lib64/libpthread-2.28.so+0x120d6/0x1b000]
WARNING: Missing unwind data for a module, rerun with 'stap -d kernel'
WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libpthread-2.28.so'
WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libc-2.28.so'
 0x7f7a00184805 : 0x7f7a00184805 [/usr/lib64/libc-2.28.so+0xf2805/0x1bc000]
 0x7f7a00184805 : 0x7f7a00184805 [/usr/lib64/libc-2.28.so+0xf2805/0x1bc000]
 0x7f7a00184805 : 0x7f7a00184805 [/usr/lib64/libc-2.28.so+0xf2805/0x1bc000]
 0x7f7a00184805 : 0x7f7a00184805 [/usr/lib64/libc-2.28.so+0xf2805/0x1bc000]
 0x7f7a00184805 : 0x7f7a00184805 [/usr/lib64/libc-2.28.so+0xf2805/0x1bc000]
 0x7f7a00184805 : 0x7f7a00184805 [/usr/lib64/libc-2.28.so+0xf2805/0x1bc000]
 0x7f5d19486381 : 0x7f5d19486381 [/usr/lib64/libc-2.28.so+0xed381/0x1bc000]
 0x7f5d19486381 : 0x7f5d19486381 [/usr/lib64/libc-2.28.so+0xed381/0x1bc000]
^CPass 5: run completed in 30usr/650sys/97257real ms.
  8.5 Server x86_64 #

Comment 7 errata-xmlrpc 2021-11-09 18:15:41 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:4215