Skip to content

Custom record changes break python 3.9 #609

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

Closed
Gelbpunkt opened this issue Aug 16, 2020 · 0 comments · Fixed by #610
Closed

Custom record changes break python 3.9 #609

Gelbpunkt opened this issue Aug 16, 2020 · 0 comments · Fixed by #610

Comments

@Gelbpunkt
Copy link
Contributor

Gelbpunkt commented Aug 16, 2020

  • asyncpg version: Built from github master this morning at midnight GMT
  • PostgreSQL version: 13.0 beta but does not matter
  • Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
    the issue with a local PostgreSQL install?
    : no but does not matter
  • Python version: 3.9.0rc1+
  • Platform: amd64
  • Do you use pgbouncer?: no but does not matter
  • Did you install asyncpg with pip?: built wheel from source
  • If you built asyncpg locally, which version of Cython did you use?: 3.0a6
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : does not matter

I'm using asyncpg in a python 3.9 enviroment that I rebuild daily in CI. For reference, I use this docker image I rebuild from the 3.9 tree every day to produce the error.

Files for reference in case they are needed for reproducing:

The issue is that the latest commit regarding custom records seems to use C api methods that got moved in 3.9 (?). Since today, I get:

ImportError: Error relocating /home/idle/.local/lib/python3.9/site-packages/asyncpg/protocol/protocol.cpython-39-x86_64-linux-gnu.so: _PyObject_GC_IS_TRACKED: symbol not found

The function is referenced several times in the latest commit.

Relevant links:

elprans added a commit that referenced this issue Aug 16, 2020
Python 3.9 moved a bunch of GC-related symbols around, including
`_PyObject_GC_IS_TRACKED` which is used in `recordobj.c`.

Fixes: #609
elprans added a commit that referenced this issue Aug 19, 2020
Python 3.9 moved a bunch of GC-related symbols around, including
`_PyObject_GC_IS_TRACKED` which is used in `recordobj.c`.

Fixes: #609
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant