Message298070
Using attached importlib_sleep.patch, you can *see* the race condition with:
diff --git a/Lib/test/test_import/data/package/__init__.py b/Lib/test/test_import/data/package/__init__.py
index a4f2bc3..f07eb11 100644
--- a/Lib/test/test_import/data/package/__init__.py
+++ b/Lib/test/test_import/data/package/__init__.py
@@ -1,2 +1,3 @@
import package.submodule
+print("package: id=%#x" % id(package))
package.submodule
Example of output:
---
haypo@selma$ ./python -m test -m test_concurrency -v test_import
package: id=0x7fb497400d58
package: id=0x7fb49744d458
test test_import failed -- (...)
---
Lib/test/test_import/data/package/__init__.py is run twice instead of being run once. A lock is missing somewhere on the package module. |
|
Date |
User |
Action |
Args |
2017-07-10 15:09:27 | vstinner | set | recipients:
+ vstinner, brett.cannon, paul.moore, ncoghlan, tim.golden, eric.snow, zach.ware, serhiy.storchaka, steve.dower |
2017-07-10 15:09:27 | vstinner | set | messageid: <1499699367.15.0.953713520885.issue30891@psf.upfronthosting.co.za> |
2017-07-10 15:09:27 | vstinner | link | issue30891 messages |
2017-07-10 15:09:27 | vstinner | create | |
|