◐ Shell
clean mode source ↗

Message 370924 - Python tracker

I'm curious about this bug, so I looked at code changes.

Before Python 3.6, warnings.c "garbage" is declared as a static variable. It is initialized once but never cleared.

In Python 3.7, the variable moved into _PyRuntimeState.gc.

In Python 3.8, _PyGC_Fini() started to clear the "garbage" list. This function is called by Py_FinalizeEx() *after* PyList_Fini().