[3.15] gh-149430: Fix edge-cases in profiling.sampling outputs (GH-149431)#149602
Merged
pablogsal merged 1 commit intopython:3.15from May 9, 2026
Merged
[3.15] gh-149430: Fix edge-cases in profiling.sampling outputs (GH-149431)#149602pablogsal merged 1 commit intopython:3.15from
profiling.sampling outputs (GH-149431)#149602pablogsal merged 1 commit intopython:3.15from
Conversation
…onGH-149431) The line highlights on the heatmap are driven by the URL hash and the `:target` selector. When clicking a caller/callee link for the line that was already selected, the hash doesn't change, so the browser keeps the existing target state and doesn't restart the animation. Due to this the highlight only works the first time. With this fix, line navigation goes through JavaScript. If the target URL already points to the current location, the highlight is replayed by clearing the animation, forcing style recalculation, and restoring it. The `baseline_self` variable isn't initialized for structural elided roots. This variable is accessed later unconditionally and leads to a crash. The child process ends up being invoked with `--diff_flamegraph` instead of the correct argument. (cherry picked from commit 9587726) Co-authored-by: László Kiss Kollár <kiss.kollar.laszlo@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The line highlights on the heatmap are driven by the URL hash and the
:targetselector. When clicking a caller/callee link for the line thatwas already selected, the hash doesn't change, so the browser keeps the
existing target state and doesn't restart the animation. Due to this the
highlight only works the first time.
With this fix, line navigation goes through JavaScript. If the target
URL already points to the current location, the highlight is replayed by
clearing the animation, forcing style recalculation, and restoring it.
The
baseline_selfvariable isn't initialized for structural elidedroots. This variable is accessed later unconditionally and leads to a
crash.
The child process ends up being invoked with
--diff_flamegraphinsteadof the correct argument.
(cherry picked from commit 9587726)
Co-authored-by: László Kiss Kollár kiss.kollar.laszlo@gmail.com
profiling.samplingvisualisation outputs have edge-case failures #149430