at least on my Windows, the following code:
import sys
sys.modules = []
- when run interactively, causes weird behavior, e.g. exit() doesn't exit the
interpreter, and print() doesn't print.
then, pressing Ctrl+C causes 'Assertion failed: !PyErr_Occurred(), file ..\Objects\call.c, line 803'
- when run as a script, causes PyImport_Cleanup() to raise a negative ref count
Fatal Python error.
(this is because PyImport_Cleanup() (in Python/import.c) assumes that
PyImport_GetModuleDict() returned a dict.)
IIUC, this bug was introduced in https://github.com/python/cpython/pull/1638
(which resolved #28411). |