duckdb Python Extension Analysis Report
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with the linked full report and its Reproducers Appendix, then inspect the named map.cpp, filesystem, parallel numpy scan, 128-bit integer conversion, and UDF exception paths. Done means each listed reproducer no longer triggers its reported crash, leak, unchecked error, exception clobbering, or swallowed exception, with regression coverage for the affected cases.
Written by the indexing model from the issue text.
Description
What happens?
I ran cext-review-toolkit on duckdb-python and got a report with some issues:
The primary risks are: (1) Python API calls without GIL in the parallel numpy scan path (data corruption/crash), (2)
PyTuple_Packreference leak inmap.cpp(~11 KB/call), (3) uncheckedPyNumber_RshiftNULL in 128-bit integer conversion (segfault), (4)PyErr_PrintExclobbering exceptions in map and filesystem, and (5) UDF exception handling that optionally swallowsMemoryError/KeyboardInterrupt.
The full report is available at https://gist.github.com/devdanzin/5c7600153c8e76afee3ef1a2d516ad70
To Reproduce
Some reproducers are available in the Reproducers Appencix.
OS:
Linux x86_64
DuckDB Package Version:
1.5.1
Python Version:
3.14.3+ debug build
Full Name:
Daniel Silva Diniz
Affiliation:
None
What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.
I have tested with a stable release
Did you include all relevant data sets for reproducing the issue?
Not applicable - the reproduction does not require a data set
Did you include all code required to reproduce the issue?
- Yes, I have
Did you include all relevant configuration to reproduce the issue?
- Yes, I have
- Dominant language
- Python
- Stars
- 189
- Forks
- 117
- Avg merge
- 1d 58m
- Merged PRs (30d)
- 15
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from duckdb/duckdb-python
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
duckdb/duckdb-python#633 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
duckdb/duckdb-python#627 · 1 comment ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
duckdb/duckdb-python#576 · 3 comments ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
duckdb/duckdb-python#534 ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
duckdb/duckdb-python#386 ·
Maintainers usually reply within 1 day
All issues in duckdb/duckdb-python
Similar issues
-
#bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
apache/superset#44923 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
lawndoc/stack-back#123 ·
-
Add: EntuneOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
AbdelStark/awesome-typesafe-jev#187 ·
Maintainers usually reply within 1 day
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
repowise-dev/repowise#2966 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 2 days