-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] v2.1.2 segfaults on Python 3.7 on Debian #41
Comments
We noticed this as well. We can also reproduce it outside the docker image, but it requires a recent version of
|
... to work around breakage on buster (Marco-Sulla/python-frozendict#41)
... to work around breakage on buster (Marco-Sulla/python-frozendict#41)
This is quite strange. Packages are automatically created and tested on every push. Furthermore I tested on my Lubuntu with python 3.7 and it works. I'll try to setup a VM with Debian 10 and see what happens. |
Yeah, I couldn't reproduce this on an Ubuntu with Python 3.7. Debian have been known to do odd things with their python binaries in the past. |
...Ubuntu is not a debian distro? |
That's pretty much what I'm saying, yes. I think this is specific to the Python 3.7 build in Debian 10. |
Ok, there are two macros that causes the segfaults:
Unluckily, I found very few about |
Fixed by 0e46ac5 I released v2.1.3 Unluckily, the binaries generated by |
I'm not familiar with CPython API, but just wanted to point out that mypyc uses the same macro Py_TRASHCAN_SAFE_BEGIN in https://github.com/python/mypy/blob/master/mypyc/lib-rt/CPy.h#L508 and they managed to build manylinux wheels (see https://pypi.org/project/mypy/#files). Not sure if they use cibuildwheel or not, or if that's relevant. |
well, of course, building the manylinux wheel successfully (as you also did) doesn't guarantee that mypyc won't segfault on debian python 3.7 (I haven't tested that). Anyway, sorry for the noise. |
@anthrotype Maybe the problem is I use a lot of not public and / or not stable APIs. I started the C version of |
good luck resurrecting the pep. Even if added to python 3.x itself, keeping the external package has advantages as it'd allow to use like a backport on python < 3.x |
In the current version, 2.2.0, I completely refactored the C code. Now the ABI compatibility should be reached. I tested it with a Debian VM. Can someone confirm or deny this? |
Had the bug 100% of the time with frozendict 2.1.2 |
Thank you for the report. Since now |
Hi,
OS version: Debian 10, in Docker; installed using this Dockerfile: https://forge.softwareheritage.org/source/swh-jenkins-dockerfiles/browse/master/sphinx/Dockerfile
Python3 version (python3 -V -V):
Steps to reproduce:
python3 -c "from frozendict import frozendict; frozendict({'_uuid': '9c20cbe8-6275-11ec-a64f-0242ac110001', 'processingMode': 'json-ld-1.1', 'mappings': {}})"
Actual result (with the python stack trace if present):
In details:
Here is the core dump: core.gz
This issue does not seem to occur outside Docker or on frozendict 2.1.1.
Thanks
The text was updated successfully, but these errors were encountered: