[Bug runtime/32931] New: On Fedora Rawhide, 42, 41, and 40 timeout.stp example fails to build because runs out of memory
wcohen at redhat dot com
sourceware-bugzilla@sourceware.org
Fri May 2 19:16:01 GMT 2025
https://sourceware.org/bugzilla/show_bug.cgi?id=32931
Bug ID: 32931
Summary: On Fedora Rawhide, 42, 41, and 40 timeout.stp example
fails to build because runs out of memory
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: runtime
Assignee: systemtap at sourceware dot org
Reporter: wcohen at redhat dot com
Target Milestone: ---
When reviewing the testsuite results on various distributions I found that
timeout.stp example was failing to build because gcc was killed due to running
out of memory. The timeout.stp example builds and runs fine on RHEL8 and
RHEL9.
Specifics of what running the tests on:
$ uname -a; rpm -q gcc
Linux rawhide 6.15.0-0.rc3.20250425git02ddfb981de8.32.fc43.x86_64 #1 SMP
PREEMPT_DYNAMIC Fri Apr 25 19:15:22 UTC 2025 x86_64 GNU/Linux
gcc-15.1.1-1.fc43.x86_64
With a local build of the current systemtap git repository checkout:
$ ../install/bin/stap -p4 -v testsuite/systemtap.examples/profiling/timeout.stp
Pass 1: parsed user script and 615 library scripts using
1170088virt/849956res/16380shr/851716data kb, in 1290usr/400sys/886real ms.
Pass 2: analyzed script: 22 probes, 12 functions, 100 embeds, 15 globals using
1334828virt/1015936res/17684shr/1016456data kb, in 2220usr/60sys/2322real ms.
Pass 3: translated to C into
"/tmp/stap6CHIsB/stap_f12eda4334278cf77faa7b4f5db31814_102246_src.c" using
1334828virt/1016128res/17876shr/1016456data kb, in 20usr/0sys/14real ms.
make[2]: ***
[/usr/src/kernels/6.15.0-0.rc3.20250425git02ddfb981de8.32.fc43.x86_64/scripts/Makefile.build:203:
stap_f12eda4334278cf77faa7b4f5db31814_102246_src.o] Terminated
make[1]: ***
[/usr/src/kernels/6.15.0-0.rc3.20250425git02ddfb981de8.32.fc43.x86_64/Makefile:2057:
.] Terminated
make: *** [Makefile:260: __sub-make] Terminated
WARNING: kbuild exited with signal: 15 (Terminated)
Pass 4: compiled C into "stap_f12eda4334278cf77faa7b4f5db31814_102246.ko" in
21710usr/3460sys/52825real ms.
Pass 4: compilation failed. [man error::pass4]
Kernel version 6.15.0 is outside tested range 3.10 ... 6.15-rc
When the C code for the module is being compiled the process is attempting to
use 5+GB of memory. The offending code in the systemtap script is in the
prometheus probe. If the handler code in probe prometheus is removed,
timeout.stp works as expected on Fedora rawhide. Also if the prom_arr arity is
is reduced to 3 keys or fewer and the associated @rometheus_dump_array7 is
adjusted accordingly timeout.stp works as expected. Comparing the stap*_src.i
files when changing the arity of the prometheus array shows that the C
preprocessing expansion is causing the code to get very large. With a fix to
tapset/prometheus.stpm for the 4 arity size, the largest that can be compiled
the .i file is 16MB in size vs 5.4M for the 3 arity sized version.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Systemtap
mailing list