Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/ncoghlan'closed_at=Nonecreated_at=<Date2022-04-03.06:41:46.197>labels= ['type-feature']
title="Ensure PyEval_GetGlobals() doesn't set an exception when returning NULL"updated_at=<Date2022-04-03.06:48:44.524>user='https://github.com/ncoghlan'
While working on the first PR for bpo-44800 I provoked an obscure failure in PyImport_ImportModule by making PyEval_GetGlobals set an exception when returning NULL (as PyEval_GetLocals has done since bpo-18408 was implemented for Python 3.4).
This ticket covers adding an embedding test case that:
ensures PyEval_GetGlobals() returns NULL without an exception when no Python frame is active
ensures PyEval_GetLocals() returns NULL and sets an exception when no Python frame is active
ensures PyImport_ImportModule still works when no Python frame is active
There's an option to slightly change the behaviour of PyEval_GetLocals() to NOT set an exception in the "no Python frame" case, and instead only set the error when there is a Python frame, but something goes wrong when attempting to access the fast locals array (such as a memory allocation failure).
ncoghlan commentedApr 3, 2022
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: