pitrou opened a new pull request #8615:
URL: https://github.com/apache/arrow/pull/8615
Fix a lock ordering-induced deadlock between the Python GIL
and the `std::once_flag` lock used in
`arrow::py::internal::InitPandasStaticData`.
Thread A:
* takes the GIL
* calls `arrow::py::internal::InitPandasStaticData`
* which calls `std::call_once`, which acquires the lock inside the
`std::once_flag`
* which imports the `pandas` module
* which releases the GIL before reading the code object from disk
* and then tries to re-acquire the GIL
Thread B:
* takes the GIL
* calls `arrow::py::internal::InitPandasStaticData`
* which calls `std::call_once`, which tries to acquire the lock inside the
`std::once_flag`
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]