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

Avoid the multiprocessing forkserver method #656

Merged
merged 1 commit into from
Nov 22, 2024

Conversation

hroncok
Copy link
Contributor

@hroncok hroncok commented Nov 22, 2024

Python 3.14 changed the default multiprocessing method for POSIX (sans macOS) from fork to forkserver. This causes errors like:

TypeError: cannot pickle 'select.epoll' object
when serializing dict item '_poller'
when serializing pyftpdlib.ioloop.Epoll state
when serializing pyftpdlib.ioloop.Epoll object
when serializing dict item 'ioloop'
when serializing pyftpdlib.servers.MultiprocessFTPServer state
when serializing pyftpdlib.servers.MultiprocessFTPServer object
when serializing tuple item 0
when serializing method reconstructor arguments
when serializing method object
when serializing dict item '_target'
when serializing multiprocessing.context.Process state
when serializing multiprocessing.context.Process object

See python/cpython#125714

Python 3.14 changed the default multiprocessing method for POSIX (sans macOS)
from fork to forkserver. This causes errors like:

    TypeError: cannot pickle 'select.epoll' object
    when serializing dict item '_poller'
    when serializing pyftpdlib.ioloop.Epoll state
    when serializing pyftpdlib.ioloop.Epoll object
    when serializing dict item 'ioloop'
    when serializing pyftpdlib.servers.MultiprocessFTPServer state
    when serializing pyftpdlib.servers.MultiprocessFTPServer object
    when serializing tuple item 0
    when serializing method reconstructor arguments
    when serializing method object
    when serializing dict item '_target'
    when serializing multiprocessing.context.Process state
    when serializing multiprocessing.context.Process object

See python/cpython#125714
@giampaolo giampaolo merged commit d90297a into giampaolo:master Nov 22, 2024
5 checks passed
giampaolo added a commit that referenced this pull request Nov 22, 2024
@giampaolo
Copy link
Owner

thank you!

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 this pull request may close these issues.

2 participants