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]

Reply via email to