gh-129573: Fix possible abort from non-string suggestions in calculate_suggestions/_Py_CalculateSuggestions#130997
Uh oh!
There was an error while loading. Please reload this page.
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.
This PR adds a simple check that suggestion candidates are strings in
calculate_suggestions(3.12)/_Py_CalculateSuggestions(main), avoiding an abort in debug builds from code like below:The abort only happens in 3.12, because the code in main checks for non-string candidates in
_suggestions__generate_suggestions_impl. However, since the affected code is still present in main, this PR is against that branch.In main, the code above exits the new REPL, which will be reported as a new issue with associated PR.
Found using fusil by @vstinner.
_PyUnicode_Equalfromcalculate_suggestionswith non-string candidate #129573