Message407953
> Depending on how the stdlib abc.py file was loaded (in the main interpreter and in the subinterpreter), __code__.co_freevars[0] may or may not be an interned string.
When the bug occurs, I see that the Python stdlib abc.py file is loaded twice: the main interpreter builds a code object, and then subinterpreter builds its own code object: same content, but different Python object (at different memory addresses so inequal pointers!).
I modified reproducer.c to add "Py_VerboseFlag = 1;" before the Py_Initialize() call. Truncated output:
---
...
# code object from /opt/py310/lib/python3.10/abc.py
...
# code object from /opt/py310/lib/python3.10/abc.py
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
...
RuntimeError: super(): __class__ cell not found
...
--- |
|
Date |
User |
Action |
Args |
2021-12-07 17:27:51 | vstinner | set | recipients:
+ vstinner, serhiy.storchaka, corona10, erlendaasland |
2021-12-07 17:27:51 | vstinner | set | messageid: <1638898071.09.0.351396020287.issue46006@roundup.psfhosted.org> |
2021-12-07 17:27:51 | vstinner | link | issue46006 messages |
2021-12-07 17:27:51 | vstinner | create | |
|