blacklist _testmultiphase.call_state_registration_func (raises SystemError by design) - #260
Merged
Merged
Conversation
…Error by design) The function exists to prove the error path: it calls PyState_AddModule / PyState_RemoveModule on a multi-phase-init module, which is defined to raise SystemError -- a 1.0 crash word. Verified identical on CPython 3.14 and on PyPy 7.3.23's cpyext, so it is a guaranteed false positive on any interpreter. It kept 11 dirs in one PyPy stdlib fleet. Only the function is blacklisted, not the module (unlike _testcapi and friends): the rest of _testmultiphase -- foo, Example, Str -- is real multi-phase-init surface worth fuzzing, and on PyPy it exercises the cpyext C-API emulation layer, which is the most interesting target that interpreter has. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WhcpLoyjUWLbETGZnA9boj
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.
Third noise source from the PyPy stdlib fleet triage (after #259).
_testmultiphase.call_state_registration_func()exists to prove the error path: it callsPyState_AddModule/PyState_RemoveModuleon a multi-phase-init module, which is definedto raise
SystemError— a 1.0 crash word.Verified identical on both interpreters:
So it's a guaranteed false positive anywhere, not a PyPy quirk. It kept 11 dirs in one
fleet.
Why the function and not the module
_testcapi/_testinternalcapi/_testlimitedcapiare blacklisted wholesale, but_testmultiphaseshouldn't be:foo,ExampleandStrare real multi-phase-init surfaceworth fuzzing, and on PyPy the whole module runs through cpyext, the C-API emulation
layer — the most interesting target that interpreter has. Measured over the fleet, only
call_state_registration_funcproduces the SystemError;foo(387 calls),Example(216)and
Str(200) were all clean.The test pins both halves: the function is blacklisted, the module is not, and the three
useful names stay fuzzable.
Full suite green (1255); ruff clean.
🤖 Generated with Claude Code