wpyaoxueros commented on issue #54536: URL: https://github.com/apache/arrow/issues/54536#issuecomment-6287709330
Additional reproduction on the current released wheels, run with Codex assistance on the designated remote workstation (Linux x86_64, CPython 3.12.15, PyArrow 26.0.0, pandas 3.0.6): - 2 of 300 fresh subprocesses using `pandas.read_parquet` aborted with signal 6 and `terminate called without an active exception`. - 0 of 300 control subprocesses using `pyarrow.parquet.read_table(...).to_pandas()` aborted. This is on x86_64, not the reporter's aarch64 platform, but it reproduces the same exit-time failure on the Python-file-handle path. I inspected current `main` (`ee382216db4f8d764ed17c16c5baef45afe3f757`): `PyReadableFile` owns the Python file through `OwnedRefNoGIL`; that destructor checks `Py_IsInitialized()` and then acquires the GIL before decref. The previously merged #49943 protects `PyBuffer` and `NumPyBuffer`, but not this `OwnedRefNoGIL` path. I would like to investigate a focused fix and regression test if a committer can assign this issue. Before coding, guidance would help on the supported finalization check across Arrow's Python versions: the remote CPython 3.12.15 headers declare `_Py_IsFinalizing`, while the issue proposes `Py_IsFinalizing`. AI disclosure: Codex assisted with setting up and running the reproduction and inspecting current source. No code changes have been made. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
