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 Valentyn Tymofieiev
Recipients Valentyn Tymofieiev, alexandre.vassalotti, brett.cannon, eric.snow, gst, ncoghlan, pitrou, tjb900
Date 2019-11-21.19:24:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1574364273.58.0.56328529288.issue34572@roundup.psfhosted.org>
In-reply-to
Content
While investigating[1], I observe that certain unpickling operations, for example, Unpickler.find_class, remain not thread-safe in Python 3.7.5 and earlier versions that I tried. I have not tried 3.8, but cannot reproduce this error on Python 2. 

For example, attached find_class_deadlock.py which consistently fails with a deadlock on Python 3.7.5.

I opened https://bugs.python.org/issue38884, which may be causing these errors, since the failure mode is similar, and in at least some codepaths, find_class seems to be calling __import__ [2].

[1] https://issues.apache.org/jira/browse/BEAM-8651
[2] https://github.com/python/cpython/blob/4ffc569b47bef9f95e443f3c56f7e7e32cb440c0/Lib/pickle.py#L1426.
History
Date User Action Args
2019-11-21 19:24:33Valentyn Tymofieievsetrecipients: + Valentyn Tymofieiev, brett.cannon, ncoghlan, pitrou, alexandre.vassalotti, eric.snow, tjb900, gst
2019-11-21 19:24:33Valentyn Tymofieievsetmessageid: <1574364273.58.0.56328529288.issue34572@roundup.psfhosted.org>
2019-11-21 19:24:33Valentyn Tymofieievlinkissue34572 messages
2019-11-21 19:24:33Valentyn Tymofieievcreate