Repository navigation
Conversation
Problem: Vim9: crash when profiling of a script is forced with
":profile! file" and a function defined in it is copied, such as
an inherited class method or a generic function with type
arguments: the copy shares the profiling data of the function and
it is freed twice.
Solution: Do not share the profiling data in copy_function(), give the copy
its own data when the function is profiled (Yegappan Lakshmanan).
Assisted-by: Claude
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
yegappan
force-pushed
the
fix-profile-function-copy
branch
from
October 12, 2026 05:46
6be86b0 to
76a4b6b
Compare
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.
Problem: Vim9: crash when profiling of a script is forced with ":profile! file" and a function defined in it is copied, such as an inherited class method or a generic function with type arguments: the copy shares the profiling data of the function and it is freed twice.
Solution: Do not share the profiling data in copy_function(), give the copy its own data when the function is profiled.
AI assistance
Checklist
Signed-off-by:trailer is present (git commit -s), recommended but not requiredTests
Documentation
runtime/doc/was updatedAnything reviewers should know
Found by Claude when assisting in the generic classes and interfaces implementation (#18910).