
Hi fellows,
I've been hit by a segfault recently in a binary wheel running on Python 3.7.3, but that worked fine on Python 3.7.5.
The code was compiled on Python 3.7.5 using manylinux1 Docker images and transformed in a manylinux1 wheel. The segmentation fault back trace did not make any sense, so I guessed it was an ABI change.
After running git bisect for a few hours, it turns out that the culprit is the following commit:
https://github.com/python/cpython/commit/8766cb74e186d3820db0a855ccd780d6d84...
From my understanding, that commit indeed changes the ABI by modifying the header file and the size of the PyGC_Head and breaks code compiled on Python >= 3.7.4 running on earlier Python 3.7 version.
I don't know if anything can be done about this now that it's done and released. It might be something we want to double check in the future. Having some kind of warning when doing backports could be worth it.
Cheers,