-
-
Notifications
You must be signed in to change notification settings - Fork 181
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
threading.Thread fails to pickle in python > 3.13.0a5 #654
Comments
while it's not directly related, might be an opportunity to deal with objects in #334 |
The current failure on Python 3.13.0b1 looks like this:
|
and
which appears related in some way to PEP 667. |
If I remember correctly -- from more than a decade ago -- the primary reason that a frame object couldn't be pickled is that the GIL is imbedded in the frame object and could only be written to in C. In python 3.13, there have been a lot of recent changes to support removal of the GIL. I expect it's related to that. |
Fedora 41, which is already in beta freeze, will ship with Python 3.13. Final freeze is scheduled for 2024-10-15. There are quite a few packages that will be impacted, and may have to be retired from Fedora, if we can’t ship a working I’m not sure how to fix this, or I would have already proposed a PR, but please let us know if there is anything we can do to help. |
I know. I'm woking on it, and plan to cut a release this coming week. Fundamentally, there's only one or two fixes that are left to cover the remaining breaking changes made in python 3.13. |
Thanks! That’s exciting news. |
closed by #679 |
Starting in python 3.13.0a5, a
threading.Thread
instance is not serializable. This is due to thethread
attribute pointing to an unserializable_thread._ThreadHandle
instance, where in earlier versions the_thread
instance pointed toNone
. Deleting the_ThreadHandle
enables theThread
to be serializable again. Presumably, there's a good way to obtain an appropriate thread handle from the thread or using thethreading
module.The text was updated successfully, but these errors were encountered: