Skip to content
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

[Python][CI] Add a Crossbow test build with a debug-enabled CPython #43559

Closed
pitrou opened this issue Aug 5, 2024 · 1 comment
Closed

[Python][CI] Add a Crossbow test build with a debug-enabled CPython #43559

pitrou opened this issue Aug 5, 2024 · 1 comment

Comments

@pitrou
Copy link
Member

pitrou commented Aug 5, 2024

Describe the enhancement requested

We should add a Crossbow build running the PyArrow test suite with a debug-enabled CPython interpreter, to better test the sanity of our low-level C++/Python interface code.

One possibility is to install CPython using conda and the conda-forge/label/python_debug::python package reference.

Related to #43557

Component(s)

Continuous Integration, Python

@pitrou pitrou self-assigned this Aug 5, 2024
pitrou added a commit to pitrou/arrow that referenced this issue Aug 5, 2024
…interpreter

Debug builds of CPython help catch low-level errors when using the Python C API.
pitrou added a commit that referenced this issue Aug 6, 2024
…reter (#43565)

### Rationale for this change

Debug builds of CPython help catch low-level errors when using the Python C API. This is illustrated in GH-43487: a debug build of CPython detected that we were incref'ing a Python object without holding the GIL (which is a race condition otherwise).

### What changes are included in this PR?

1. Add a Docker build with a conda-installed debug interpreter.
2. Add a Crossbow job to run said Docker build with Python 3.12.

### Are these changes tested?

Yes, by the adding Crossbow job. The job now fails with a crash in `test_udf.py`, because of GH-43487.

### Are there any user-facing changes?

No.
* GitHub Issue: #43559

Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@pitrou pitrou added this to the 18.0.0 milestone Aug 6, 2024
@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

Issue resolved by pull request 43565
#43565

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant