Message12918
[get the name right!]
I managed to trap an example of this going wrong. I hope I've now got the right error. The problem is essentially that a recursive call to PyType.fromClass() is capable of premature publication. Such a call occurs during construction of the MRO. Any thread not already waiting inside the type system will then pick up an incomplete PyType from the ClassValue.
We do need those incomplete values internally, in order to build structures like the MRO that refer to the object that contains them.
We need a way to allow PyType.fromClass to return an incomplete type to the unique thread already working, while not binding it for other threads to find. I notice that it is allowable for computeValue() to throw an exception and no value is then bound, which may provide the back-channel I need. |
|
Date |
User |
Action |
Args |
2020-01-25 10:40:13 | jeff.allen | set | messageid: <1579948813.42.0.860999139542.issue2834@roundup.psfhosted.org> |
2020-01-25 10:40:13 | jeff.allen | set | recipients:
+ jeff.allen, zyasoft, FraOrolo |
2020-01-25 10:40:13 | jeff.allen | link | issue2834 messages |
2020-01-25 10:40:13 | jeff.allen | create | |
|