Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.2k
Closed
Description
Bug report
Bug description:
This snippet:
import_interpretersimporttypesi=_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", line27, in<module> _interpreters.set___main___attrs(i, types.MappingProxyType({"a":1}))~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^SystemError:Objects/dictobject.c:4162: bad argument to internal function
This happens duringthis call to_PyXI_Enter
which callsPyDict_Size
onupdates
.
Thepublic interface always passes adict
, 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
- gh-135855: Fix
SystemError
when passing non-dict object to_interpreters.set___main___attrs
#135856 - [3.14] gh-135855: Raise TypeError When Passing Non-dict Object to
_interpreters.set___main___attrs
(gh-135856) #135900 - [3.13] gh-135855: Raise TypeError When Passing Non-dict Object to
_interpreters.set___main___attrs
(gh-135856) #135903
Metadata
Metadata
Assignees
Labels
Projects
Status
Done