SIGN IN SIGN UP
python / cpython UNCLAIMED

The Python programming language

0 0 95 Python

gh-102660: Fix is_core_module() (gh-103257)

In gh-102744 we added is_core_module() (in Python/import.c), which relies on get_core_module_dict() (also added in that PR).  The problem is that_PyImport_FixupBuiltin(), which ultimately calls is_core_module(), is called on the builtins module before interp->builtins_copyis set.  Consequently, the builtins module isn't considered a "core" module while it is getting "fixed up" and its module def m_copy erroneously gets set.  Under isolated interpreters this causes problems since sys and builtins are allowed even though they are still single-phase init modules.  (This was discovered while working on gh-101660.)

The solution is to stop relying on get_core_module_dict() in is_core_module().
E
Eric Snow committed
f513d5c80672c76acbdaf7d5b601f4bbe9fae56a
Parent: bceb9e0
Committed by GitHub <noreply@github.com> on 4/4/2023, 11:03:40 PM