GH-40153: [Python] Fix OverflowError in foreign_buffer on 32-bit platforms#40158
GH-40153: [Python] Fix OverflowError in foreign_buffer on 32-bit platforms#40158pitrou merged 1 commit intoapache:mainfrom
Conversation
…t platforms Use `uintptr_t` rather than `intptr_t` to fix `OverflowError`, visible e.g. when running `tests/interchange/test_conversion.py` tests on 32-bit platforms.
|
|
|
Note that this doesn't address all issues from #40153, I've started with the one that seemed to have the biggest impact. |
|
@github-actions crossbow submit -g python -g wheel |
|
|
@github-actions crossbow submit -g python -g wheel |
|
Revision: d70772f Submitted crossbow builds: ursacomputing/crossbow @ actions-9e876b1e47 |
|
CI failures are expected. Will merge. |
|
After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 29d2b16. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 5 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Use
uintptr_trather thanintptr_tto fixOverflowError, visible e.g. when runningtests/interchange/test_conversion.pytests on 32-bit platforms.Rationale for this change
This fixes the
OverflowErrors from #40153, and makespyarrow/tests/interchange/all pass on 32-bit x86.What changes are included in this PR?
intptr_ttouintptr_tto provide coverage for pointers above0x80000000.Are these changes tested?
These changes are covered by the tests in
pyarrow/tests/interchange.Are there any user-facing changes?
It fixes
OverflowErrorthat can be triggered by working with pandas data types, possibly more (though I'm not sure if this qualifies as a "crash").