Skip to content
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

Wheels for python 3.12/3.13 are missing #522

Open
thebaptiste opened this issue Apr 25, 2024 · 9 comments · May be fixed by #523
Open

Wheels for python 3.12/3.13 are missing #522

thebaptiste opened this issue Apr 25, 2024 · 9 comments · May be fixed by #523

Comments

@thebaptiste
Copy link

Could you please provide wheels for Python 3.12 on pypi ?

Thanks

@itamarst
Copy link
Collaborator

itamarst commented May 3, 2024

Yeah I should do that.

@itamarst itamarst linked a pull request May 15, 2024 that will close this issue
@emorice
Copy link

emorice commented Jun 21, 2024

A user needed a wheel for 3.12 on linux today and it successfully compiled from your 522-wheels-for-python-312-are-missing branch with especially the linker fix being helpful. Is it the mac support which is blocking? If so I'll just drop that a partial release of the linux wheels would definitely be of interest to some users. Thanks for the great tool btw!

@itamarst
Copy link
Collaborator

I was actually having issues linking locally, and then got distracted. I'll try to get back to it.

@itamarst
Copy link
Collaborator

I think I figured out the linking issues.

@ogencoglu
Copy link

Any updates?

@itamarst
Copy link
Collaborator

Been sick, but, might try tomorrow.

@rouge8
Copy link

rouge8 commented Oct 24, 2024

This also applies to Python 3.13 now

@itamarst
Copy link
Collaborator

Yeah... I have been distracted by paid work, being sick for a month, vacation, political organizing, etc.. The main bottleneck is that the output is wrong on Python 3.12 (and presumably 3.13) and I can't figure out why. If anyone who understands Python's C API wants to poke at the branch, that'd be helpful, but I will try again.

@itamarst itamarst changed the title Wheels for python 3.12 are missing Wheels for python 3.12/3.13 are missing Oct 27, 2024
@itamarst
Copy link
Collaborator

itamarst commented Oct 27, 2024

Some progress in understanding:

  • Tests fail on 3.12 because mmap.mmap() used to not release GIL, and now does as of 3.12.
  • Put another way, Fil fails to profile correctly in some cases when GIL is not held.
  • I was relying on PyTrace_C_CALL op in Python's tracing/profiling API to get accurate line number info, but... turns out that doesn't get used in some cases! For example, for mmap.mmap(), perhaps because it's a type constructor rather than a standalone function. This seems like a bug in CPython to me (filed as sys.setprofile doesn't do c_call in all cases python/cpython#126056) but even if it'll get fixed that is not very helpful anytime soon.

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.

5 participants