STINNER Victor <vstin...@python.org> added the comment:

> 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
...
---

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue46006>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to