Open mdobrzanski opened 7 months ago
@xhochy, that's some advanced stuff, I think I didn't get everything that is written in related issues. What I understood is pyarrow was fixed and it's MySQLdb or even libmysqlclient that has to be fixed. There was an issue with the latter on ubuntu https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1889851. Is that right? In your opinion, where the fixes should be done?
Yes, that sounds related and the fix needs to be done on the MySQLdb
side.
Describe the bug, including details regarding any error messages, version, and platform.
The mysqlclient (MySQLdb) cannot be imported if pyarrow is imported first. An error is raised
ImportError: /lib64/libstdc++.so.6: cannot allocate memory in static TLS block
I have experienced Red Hat and Oracle Linux distributions.
Steps to reproduce:
docker run -ti oraclelinux:9 bash
The libmysql is 8.0.32 from oracle linux repositories but I had the same problem with I used libmysql from mysql community repository .
I was probing the installed pyarrow library. The mysql import starts to fail after
pyarrow.lib
is imported https://github.com/apache/arrow/blob/maint-15.0.0/python/pyarrow/__init__.py#L65When looking at shared libraries,
_mysql
,pyarrow.lib
as we aslibmysqlclient
use the samelibstdc++.so.6 => /lib64/libstdc++.so.6
Interestingly importing other way round or setting the
LD_PRELOAD=/lib64/libstdc++.so.6
makes it work fineCould you help me understand what is going on and what would be the right fix for that?
Component(s)
Python