diff --git a/Objects/frameobject.c b/Objects/frameobject.c --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -616,9 +616,9 @@ PyFrame_New(PyThreadState *tstate, PyCod if (builtins) { if (PyModule_Check(builtins)) { builtins = PyModule_GetDict(builtins); - assert(!builtins || PyDict_Check(builtins)); + assert(!builtins || PyDict_Check(builtins) || PyFrozenDict_Check(builtins)); } - else if (!PyDict_Check(builtins)) + else if (!PyDict_Check(builtins) && !PyFrozenDict_Check(builtins)) builtins = NULL; } if (builtins == NULL) { @@ -638,7 +638,7 @@ PyFrame_New(PyThreadState *tstate, PyCod /* If we share the globals, we share the builtins. Save a lookup and a call. */ builtins = back->f_builtins; - assert(builtins != NULL && PyDict_Check(builtins)); + assert(builtins != NULL && (PyDict_Check(builtins) || PyFrozenDict_Check(builtins))); Py_INCREF(builtins); } if (code->co_zombieframe != NULL) {