From c420d73fd86234bd9e34f20791cb628bca979932 Mon Sep 17 00:00:00 2001 From: stratakis <14812606+stratakis@users.noreply.github.com> Date: Tue, 29 Sep 2026 10:12:25 +0200 Subject: [PATCH] gh-158294: Avoid relying on SystemTap probe handler ordering (GH-158346) (cherry picked from commit ec49d012619d22f2953204ca0736bb8dd1fd18bc) Co-authored-by: stratakis <14812606+stratakis@users.noreply.github.com> --- Lib/test/dtracedata/call_stack.stp | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/Lib/test/dtracedata/call_stack.stp b/Lib/test/dtracedata/call_stack.stp index d4455fc8489af20..2901f44654be379 100644 --- a/Lib/test/dtracedata/call_stack.stp +++ b/Lib/test/dtracedata/call_stack.stp @@ -10,15 +10,6 @@ function basename:string(path:string) return last_token; } -probe @PYTHON_SYSTEMTAP_PROBE@("function__entry") -{ - funcname = user_string($arg2); - - if (funcname == "start") { - tracing = 1; - } -} - probe @PYTHON_SYSTEMTAP_PROBE@("function__entry"), @PYTHON_SYSTEMTAP_PROBE@("function__return") { @@ -26,17 +17,14 @@ probe @PYTHON_SYSTEMTAP_PROBE@("function__entry"), funcname = user_string($arg2); lineno = $arg3; - if (tracing) { + if (funcname == "start") { + if ($$name == "function__entry") { + tracing = 1; + } else { + tracing = 0; + } + } else if (tracing) { printf("%d\t%s:%s:%s:%d\n", gettimeofday_us(), $$name, basename(filename), funcname, lineno); } } - -probe @PYTHON_SYSTEMTAP_PROBE@("function__return") -{ - funcname = user_string($arg2); - - if (funcname == "start") { - tracing = 0; - } -}