Message408639
| Author |
eric.snow |
| Recipients |
Mark.Shannon, corona10, craigh, diabonas, eric.snow, erlendaasland, hroncok, methane, ndjensen, pablogsal, serhiy.storchaka, vstinner |
| Date |
2021年12月15日.19:51:13 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1639597873.98.0.240296728575.issue46006@roundup.psfhosted.org> |
| In-reply-to |
| Content |
It sounds like this bug is another case where we have made some objects
per-interpreter but others are still global and this is causing problems.
_PyUnicode_EqualToASCIIId() wouldn't have any problems if interpreters
weren't sharing any objects (or were only sharing immutable "immortal"
objects).
For now can we just move the relevant per-interpreter strings from
PyInterpreterState.unicode_state ("interned" and "ids") up to
_PyRuntimeState. They will then be global, which should restore
the correct behavior.
Personally, I'd rather we not revert the original change. Moving the data
to _PyRuntimeState would save me some effort with related work I'm doing
right now.
Of course, the potential bug would still exist in _PyUnicode_EqualToASCIIId().
Could we add a test as part of this fix to verify the failure case described
here actually works? |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2021年12月15日 19:51:14 | eric.snow | set | recipients:
+ eric.snow, vstinner, craigh, methane, Mark.Shannon, serhiy.storchaka, ndjensen, hroncok, corona10, pablogsal, erlendaasland, diabonas |
| 2021年12月15日 19:51:13 | eric.snow | set | messageid: <1639597873.98.0.240296728575.issue46006@roundup.psfhosted.org> |
| 2021年12月15日 19:51:13 | eric.snow | link | issue46006 messages |
| 2021年12月15日 19:51:13 | eric.snow | create |
|