-
-
Notifications
You must be signed in to change notification settings - Fork 30.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Lib/test/crashers
#121921
Comments
I am able to kill the process by pressing and holding Ctrl + C for a few seconds which gives me this strange output:
As for |
Yes, or converted into unit tests so we don't regress. |
What takes the time in the stack overflow examples is creating the traceback. If you set the recursion limit to a million, the stack overflow happens quickly, but creating and printing the traceback takes absolutely ages. Hitting |
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
: segfaultI'll send a PR to make
bogus_code_obj.py
properly segfault again. Some of the other ones should perhaps be removed.Linked PRs
The text was updated successfully, but these errors were encountered: