Message408639
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? |
|
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 | |
|