Title: _PyEval_EvalFrameDefault() doesn't reset tstate->frame if _PyCode_InitOpcache() fails
Type: Stage:
Components: Interpreter Core Versions: Python 3.9, Python 3.8
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: corona10, inada.naoki, pablogsal, vstinner
Priority: normal Keywords:

Created on 2020-03-23 14:36 by vstinner, last changed 2020-04-01 18:34 by pablogsal.

Messages (3)
msg364850 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-03-23 14:36
tstate->frame is a borrowed references to the current frame object. It's set tp the frame at _PyEval_EvalFrameDefault() and resets to frame->f_back at _PyEval_EvalFrameDefault() exit.

Problem: when _PyCode_InitOpcache() fails, tstate->frame is not reset to frame->f_back.
msg364865 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-03-23 17:24
Note: I found this issue with Pablo Galindo Galgado while investigating bpo-20526.
msg365502 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-04-01 18:34
Will prepare a pr soon
Date User Action Args
2020-04-01 18:34:22pablogsalsetmessages: + msg365502
2020-04-01 17:34:26corona10setnosy: + corona10
2020-03-23 17:24:30vstinnersetnosy: + inada.naoki, pablogsal
messages: + msg364865
2020-03-23 14:36:53vstinnercreate