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 gjb1002
Recipients Valentyn Tymofieiev, brett.cannon, eric.snow, gjb1002, nanjekyejoannah, ncoghlan, p-ganssle, pablogsal, pitrou, vstinner
Date 2020-02-20.07:39:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1582184372.18.0.968017148602.issue35943@roundup.psfhosted.org>
In-reply-to
Content
I have been experiencing what I thought was this issue in my embedded Python code. We have been using Python 3.7, so I thought upgrading to 3.8.1 would fix it, but it doesn't seem to have made any difference.

My C++ code essentially can call PyImport_GetModule() from two threads simultaneously on the same module A. The symptoms I see are that one of them then gets a stacktrace in module B (imported by A), saying that some symbol defined near the end of B does not exist.

I've also noticed that this happens far more often on deployed code (where Python modules end up in a zip file) than when run directly in development (where the modules are just normal files). I can't see any difference in the frequency between 3.7.5 and 3.8.1.

Any ideas? Should I reopen this?
History
Date User Action Args
2020-02-20 07:39:32gjb1002setrecipients: + gjb1002, brett.cannon, ncoghlan, pitrou, vstinner, eric.snow, p-ganssle, pablogsal, nanjekyejoannah, Valentyn Tymofieiev
2020-02-20 07:39:32gjb1002setmessageid: <1582184372.18.0.968017148602.issue35943@roundup.psfhosted.org>
2020-02-20 07:39:32gjb1002linkissue35943 messages
2020-02-20 07:39:32gjb1002create