Since Python 3.7, PyEval_InitThreads() does nothing, since the GIL is now always created: https://vstinner.github.io/python37-gil-change.html This function is deprecated since Python 3.9 and I removed it in Python 3.13 alpha1.
Problem: my Fedora team identified that 16 projects are affected by this function removal.
collectd
freeradius
gnumeric
libesedb
libsigrokdecode
OpenIPMI
openscap
profanity
pyliblo
pyotherside
python-confluent-kafka
python-cradox
python-gphoto2
python-simpleaudio
python-subvertpy
rb_libtorrent
I propose to restore the function in Python 3.13 beta1, and remove it again in Python 3.14 alpha1.
#ifPY_VERSION_HEX<0x03090000// deprecated. Called by Py_Initialize(). Removed in Py3.11// https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreadsPyEval_InitThreads();
#elsePy_Initialize();
#endif
The problem is that collected 5.12 is affected, there was no release since 2020. Only release candidates of a future 6.0 version.
Activity
pythongh-117929: Restore removed PyEval_InitThreads() function
pythongh-117929: Restore removed PyEval_InitThreads() function
vstinner commented on Apr 16, 2024
collectd doesn't seem to be affected for 3 years: collectd/collectd@17d2fbe
The problem is that collected 5.12 is affected, there was no release since 2020. Only release candidates of a future 6.0 version.
Fedora bug report: https://bugzilla.redhat.com/show_bug.cgi?id=2247197
vstinner commented on Apr 16, 2024
gnumeric was fixed 4 months ago: https://gitlab.gnome.org/GNOME/gnumeric/-/commit/015de3d0df1d59e62e5bfeabab31834082b81196
vstinner commented on Apr 16, 2024
pyotherside: I proposed a fix, https://github.com/thp/pyotherside/pull/132/files
corona10 commented on Apr 16, 2024
python-confluent-kafka: https://github.com/confluentinc/confluent-kafka-python/blob/5a87879681d28375a55203c4839338b13b668046/src/confluent_kafka/src/confluent_kafka.c#L3023-L3025
gh-117929: Restore removed PyEval_InitThreads() function (#117931)
vstinner commented on Apr 17, 2024
Fixed by change 75eed5b