Umbrella issue: bugs found using cpython-review-toolkit
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
Bug report
What happened?
This is an umbrella issue for 50 select bugs found using cpython-review-toolkit, distributed across ~350K lines of CPython C code (Modules/, Objects/, Python/).
Feel free to work on any report, opening an issue if one doesn't exist yet. Comment with the issue and respective gist/bug here and I'll update the table. If you find an issue listed below that is a duplicate of an existing report, let me know and I'll also mark it in the table.
Modules/ (18 gists)
| Gist | Description | CPython Issue |
|---|---|---|
| gist | _ssl.c: Py_DECREF(NULL) in SNI callback | #146080 FIXED |
| gist | _sqlite: collation assertion + missing PyErr_NoMemory | #146090 FIXED |
| gist | functools partial PyDict_Contains -1 as truthy | #146075 FIXED |
| gist | _csv.c: _set_str missing NULL check | #146093 FIXED |
| gist | _zoneinfo: SEGV in get_weak_cache | #146076 FIXED |
| gist | _zoneinfo: missing PyErr_NoMemory in load_data | #146092 FIXED |
| gist | termios: NULL to PyLong_AsLong | #146091 FIXED |
| gist | _struct: segfault/assertion on uninitialized Struct | Fixed in https://github.com/python/cpython/commit/515ae4078dffa0b74e5e5431462c2f4fe4563ffa |
| gist | pyexpat: ExternalEntityParserCreate crash | Fixed in https://github.com/python/cpython/commit/e6b9a1406980fbb1d4032eca9cc0b4f8f252b716 |
| gist | _interpqueuesmodule: use-after-free dangling last | #146427 |
| gist | selectmodule: errno < 0 always false | #146205 FIXED |
| gist | _lsprof: exception clobbering | #153068 FIXED |
| gist | deque.copy() ref corruption on OOM | #152017 |
| gist | readline: begidx NULL on OOM | #154385 |
| gist | zlibmodule: PyErr_NewException unchecked | false alarm |
| gist | socketmodule: audit hook ref/buffer leaks | #146245 FIXED |
| gist | _interpchannelsmodule: missing PyErr_NoMemory | https://github.com/python/cpython/issues/150213 FIXED |
| gist | _interpretersmodule: SEGV on create under OOM | Fixed in https://github.com/python/cpython/commit/d06113c7a7cac76a28847702685e601b79f71bf8 |
Objects/ (13 gists)
| Gist | Description | CPython Issue |
|---|---|---|
| gist | ExceptionGroup repr OOB — 3-line segfault | #146096 FIXED |
| gist | SyntaxError.__init__ ref leaks on re-init |
#146250 FIXED |
| gist | codeobject: code_richcompare swallows errors | #146199 FIXED |
| gist | codeobject: co_tlbc NULL + replacement_locations leak | — |
| gist | weakref WRAP_BINARY ref leak (~20 operators) | #153058 |
| gist | FrameLocalsProxy swallows/overwrites errors | — |
| gist | typeobject: missing return -1 in type_ready | commit c398490fbf15ede5de3389b4ca4e32fb9a7c5d67 |
| gist | typeobject: buffer leak in slot_bf_getbuffer | https://github.com/python/cpython/pull/151346 FIXED |
| gist | object.c: PyObject_Print missing LeaveRecursiveCall | commit e2fa10e04d3fed4c248881d69411fc208d05ad6b |
| gist | structseq: get_type_attr_as_size NULL deref | #148119 FIXED |
| gist | genericaliasobject: two NULL dereference bugs | https://github.com/python/cpython/pull/148226 FIXED |
| gist | odictobject: spurious PyErr_Clear | https://github.com/python/cpython/pull/151347 FIXED |
| gist | unicode_format: wrong return + PY_SSIZE_T_MIN UB | #151845 #151847 |
Python/ (16 gists)
| Gist | Description | CPython Issue |
|---|---|---|
| gist | import.c: wrong interpreter + double lock release | #150454 #150374 FIXED |
| gist | instrumentation.c: PyLong leak per monitoring call | #150379 FIXED |
| gist | instrumentation.c: use-after-Py_DECREF comparison | https://github.com/python/cpython/issues/151524 |
| gist | ceval.c: missing PyErr_NoMemory + PyEval_GetLocals NULL | #153205 FIXED |
| gist | bltinmodule: __lazy_import__ NULL deref |
#151510 FIXED |
| gist | crossinterp: UAF + leaked exception + shadowed var | — |
| gist | compiler pipeline: 6 ref leaks and error bugs | https://github.com/python/cpython/issues/146442 FIXED |
| gist | marshal: 8 refs leaked on corrupt TYPE_CODE | #148418 FIXED |
| gist | pylifecycle: 5 init/fini cleanup bugs | — |
| gist | initconfig: SET_ITEM macro leaks dict | #146244 FIXED |
| gist | ast.c: LEAVE_RECURSIVE missing on 30 paths | — |
| gist | hamt.c: sub_node leaked in bitmap ops | https://github.com/python/cpython/issues/150178 |
| gist | pythonrun: main_module ref leak | https://github.com/python/cpython/issues/146355 FIXED |
| gist | modsupport: missing va_end (UB) | https://github.com/python/cpython/issues/146386 FIXED |
| gist | legacy_tracing: unchecked PyLong_AsInt | #153622 |
| gist | optimizer_symbols: make_bottom NULL deref | https://github.com/python/cpython/issues/146388 FIXED |
Duplicates (3 gists — same bugs uploaded from different runs)
| Gist | Duplicate of |
|---|---|
| gist | ExceptionGroup repr (dup of dceaa8b7) |
| gist | sqlite collation (dup of 69aff7ff) |
| gist | SSL SNI (dup of 50f98806) |
These issues were found with Claude Opus 4.6, using the /cpython-review-toolkit:explore [file or directory] all deep command.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Output from running 'python -VV' on the command line:
Python 3.15.0a7+ (heads/main:e0f7c1097e1, Mar 17 2026, 18:10:52) [Clang 21.1.2 (2ubuntu6)]
Linked PRs
- gh-146443
- gh-151342
- gh-151346
- gh-151347
- gh-151534
- gh-151578
- gh-154278
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Chọn một báo cáo chưa được phân công trong bảng, sau đó đọc gist được liên kết và mọi issue CPython tương ứng. Bắt đầu trong khu vực được nêu tên—Modules/, Objects/ hoặc Python/—và làm theo mô tả cụ thể của báo cáo. Công việc hoàn tất khi bug được chọn có một fix hoặc issue tập trung và bảng tổng hợp được cập nhật.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- c, python
- Lĩnh vực
- backend, compilers
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100