Open
Description
Bug report
Bug description:
This snippet:
import _interpreters
import types
i = _interpreters.create()
_interpreters.set___main___attrs(i, types.MappingProxyType({"a": 1}))
raises:
Traceback (most recent call last):
File "/home/brian/Projects/open-contrib/cpython/temp.py", line 27, in <module>
_interpreters.set___main___attrs(i, types.MappingProxyType({"a": 1}))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: Objects/dictobject.c:4162: bad argument to internal function
This happens during this call to _PyXI_Enter
which calls PyDict_Size
on updates
.
The public interface always passes a dict
, and other paths that call _PyXI_Enter
check for an actual dict (e.g., exec
). I think it makes sense to do the same thing here. PR forthcoming.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Projects
Status
Todo