]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf script: force stdin for flamegraph in live mode
authorAnubhav Shelat <ashelat@redhat.com>
Fri, 31 Jan 2025 14:57:05 +0000 (09:57 -0500)
committerNamhyung Kim <namhyung@kernel.org>
Tue, 4 Feb 2025 03:49:10 +0000 (19:49 -0800)
Currently, running "perf script flamegraph -a -F 99 sleep 1" should
produce flamegraph.html containing the flamegraph. Howevever, it gives a
segmentation fault.

This is caused because the flamegraph.py script is
supposed to take as input the output of "perf record", which should be
in stdin. This would require passing "-i -" to flamegraph.py. However,
the "flamegraph-report" script causes "perf script" command to take the
"-i -" option instead of flamegraph.py, which causes no problem for
"perf script", but causes a seg fault since flamegraph.py has no input
file. To fix this I added the "-i -" option directly to the
flamegraph-report script to ensure flamegraph.py gets input from stdin.

Signed-off-by: Anubhav Shelat <ashelat@redhat.com>
Tested-by: Michael Petlan <mpetlan@redhat.com>
Link: https://lore.kernel.org/r/20250131145704.3164542-2-ashelat@redhat.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/scripts/python/bin/flamegraph-report

index 53c5dc90c87e9073f7fc458a28a01dfac792d301..83d5738c75ca4726592644d9a72916d3f23e1aba 100755 (executable)
@@ -1,3 +1,3 @@
 #!/bin/bash
 # description: create flame graphs
-perf script -s "$PERF_EXEC_PATH"/scripts/python/flamegraph.py -- "$@"
+perf script -s "$PERF_EXEC_PATH"/scripts/python/flamegraph.py -i - -- "$@"