Update `Lib/test/crashers`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
The Lib/test/crashers directory contains some Python files that are known to crash the interpreters. I thought it'd be useful to check in on whether they are still crashing the interpreter.
Here's what I get on a current-ish 3.14 build:
bogus_code_obj.py: TypeError because we're missing some arguments to the CodeType constructor. I assume this would still crash if you pass the missing args though.gc_inspection.py: segfaultinfinite_loop_re.py: takes a long time (this is not exactly a crasher, just a ReDoS)mutation_inside_cyclegc.py: no errorrecursive_call.py: hangs for a long time (this sets the recursion limit to a huge value and then does runaway recursion). I believe Mark Shannon's recent interpreter changes make it so this doesn't segfault. Interestingly, I can't kill the process with Ctrl-C, maybe a bug?trace_at_recursion_limit.py: RecursionError (which is not a crash)underlying_dict.py: segfault
I'll send a PR to make bogus_code_obj.py properly segfault again. Some of the other ones should perhaps be removed.
Linked PRs
- gh-121922
- gh-126360
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the listed files in Lib/test/crashers, beginning with bogus_code_obj.py, gc_inspection.py, mutation_inside_cyclegc.py, recursive_call.py, trace_at_recursion_limit.py, and underlying_dict.py. Run them on a current CPython build and compare their behavior with the issue report, while checking linked PRs gh-121922 and gh-126360. Done means the crashers are updated or removed based on their current behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100