python / python/cpython

Update `Lib/test/crashers`

未關閉
#121,921 4 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

tests
主要語言
Python
星號
77.2k
分支
36k
PR 合併指標
PR 指標待擷取

描述

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: segfault
  • infinite_loop_re.py: takes a long time (this is not exactly a crasher, just a ReDoS)
  • mutation_inside_cyclegc.py: no error
  • recursive_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

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

檢查 Lib/test/crashers 中列出的檔案,從 bogus_code_obj.py、gc_inspection.py、mutation_inside_cyclegc.py、recursive_call.py、trace_at_recursion_limit.py 和 underlying_dict.py 開始。在目前的 CPython 建置上執行它們,並將其行為與 issue 報告進行比較,同時檢查相關的 PR gh-121922 和 gh-126360。根據 crashers 目前的行為更新或移除它們,即表示完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
testing
Issue 類型
重構
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。