This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients davin, gregory.p.smith, pitrou
Date 2017-10-31.18:12:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1509473546.78.0.213398074469.issue31913@psf.upfronthosting.co.za>
In-reply-to
Content
I'm not sure this is worth handling, but I had an interaction with a user who had weird deadlock problems in a glibc function (getaddrinfo) in worker processes launched with the forkserver method.

The explanation turned out to be that a sitecustomize.py did some stuff that eventually launched a helper thread, and that made the forkserver process's forking fundamentally unsafe (fork() is guaranteed to be safe if there's only one thread running in the parent process).

It would be easy to check that threading.enumerate() returns only one thread, and otherwise warn the user about it.  Note this only handles Python threads and not C threads invisible to Python... (a more complete solution would involve psutil :-)).
History
Date User Action Args
2017-10-31 18:12:26pitrousetrecipients: + pitrou, gregory.p.smith, davin
2017-10-31 18:12:26pitrousetmessageid: <1509473546.78.0.213398074469.issue31913@psf.upfronthosting.co.za>
2017-10-31 18:12:26pitroulinkissue31913 messages
2017-10-31 18:12:26pitroucreate