The following example crashes with Python 3.13.0b2 (python3-3.13.0~b2-3.fc41.x86_64):
#!/usr/bin/python3
from unittest import TestCase
from kgb import SpyAgency
def outer(arg):
# required to reproduce the crash
def _inner_unused():
# must be a closure to repro
print(arg)
return 1
class CrashTest(SpyAgency, TestCase):
def test(self):
self.spy_on(outer)
outer(1)
if __name__ == '__main__':
t = CrashTest()
t.test()
(originally reproduced and extracted from the RBTools test suite)
Interpreter backtrace:
```
(gdb) bt
#0 framelocalsproxy_getitem (self=, key=0x7ffff7ed4b98 <_PyRuntime+44888>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/frameobject.c:117
#1 0x00007ffff7b5cb2b in dict_merge (interp=, a=, b=0x7fffe942df30, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
#2 dict_merge (interp=, a=, b=0x7fffe942df30, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3771
#3 0x00007ffff7ca5a72 in _PyEval_GetFrameLocals () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:2511
#4 0x00007ffff7b61abf in cfunction_vectorcall_NOARGS (func=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/cpython/methodobject.h:50
#5 0x00007ffff7b60dc7 in _PyObject_VectorcallTstate (tstate=0x7ffff7f0e2e0 <_PyRuntime+280224>, callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/internal/pycore_call.h:168
#6 PyObject_Vectorcall (callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/call.c:327
#7 0x00007ffff7b737f4 in _PyEval_EvalFrameDefault (tstate=, frame=, throwflag=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/generated_cases.c.h:813
#8 0x00007ffff7c4052b in PyEval_EvalCode (co=0x7fffe97651b0, globals=, locals=0x7fffe9734500) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:599
#9 0x00007ffff7c628d0 in run_eval_code_obj (tstate=tstate@entry=0x7ffff7f0e2e0 <_PyRuntime+280224>, co=co@entry=0x7fffe97651b0, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1292
#10 0x00007ffff7c5cf33 in run_mod (mod=mod@entry=0x5555556130f0, filename=filename@entry=0x7fffe9756a30, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500, flags=flags@entry=0x7fffffffde68, arena=arena@entry=0x7ffff7647cf0, interactive_src=0x0, generate_new_source=0) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1377
#11 0x00007ffff7c7d016 in pyrun_file (fp=fp@entry=0x5555556069c0, filename=filename@entry=0x7fffe9756a30, start=start@entry=257, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500, closeit=closeit@entry=1, flags=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1210
#12 0x00007ffff7c7c18f in _PyRun_SimpleFileObject (fp=fp@entry=0x5555556069c0, filename=filename@entry=0x7fffe9756a30, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:459
#13 0x00007ffff7c7bfb1 in _PyRun_AnyFileObject (fp=fp@entry=0x5555556069c0, filename=filename@entry=0x7fffe9756a30, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:77
#14 0x00007ffff7c756b7 in pymain_run_file_obj (program_name=0x7fffe9734630, filename=0x7fffe9756a30, skip_source_first_line=0) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:357
#15 pymain_run_file (config=0x7ffff7ee09d8 <_PyRuntime+93592>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:376
#16 pymain_run_python (exitcode=0x7fffffffde5c) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:639
#17 Py_RunMain () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:718
#18 0x00007ffff7c2c89c in Py_BytesMain (argc=, argv=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:772
#19 0x00007ffff7838248 in __libc_start_call_main (main=main@entry=0x555555555160 , argc=argc@entry=2, argv=argv@entry=0x7fffffffe0c8) at ../sysdeps/nptl/libc_start_call_main.h:58
#20 0x00007ffff783830b in __libc_start_main_impl (main=0x555555555160 , argc=2, argv=0x7fffffffe0c8, init=, fini=, rtld_fini=, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:360
#21 0x0000555555555095 in _start ()
(gdb) bt full
#0 framelocalsproxy_getitem (self=, key=0x7ffff7ed4b98 <_PyRuntime+44888>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/frameobject.c:117
value = 0x8
i =
frame = 0x7fffe95df780
co = 0x7fffe945a1f0
extra =
#1 0x00007ffff7b5cb2b in dict_merge (interp=, a=, b=0x7fffe942df30, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
keys =
iter = 0x7fffe947f550
key =
value =
status =
mp =
other =
res =
slow_exit =
mp =
other =
res =
slow_exit =
res =
keys =
iter =
key =
value =
status =
#2 dict_merge (interp=, a=, b=0x7fffe942df30, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3771
mp =
other =
res = 0
slow_exit =
keys =
iter =
key =
value =
status =
#3 0x00007ffff7ca5a72 in _PyEval_GetFrameLocals () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:2511
ret = 0x7fffe95e7800
op =
dealloc =
op =
dealloc =
op =
dealloc =
tstate =
current_frame =
locals = 0x7fffe942df30
#4 0x00007ffff7b61abf in cfunction_vectorcall_NOARGS (func=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/cpython/methodobject.h:50
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
nargs =
meth =
result =
#5 0x00007ffff7b60dc7 in _PyObject_VectorcallTstate (tstate=0x7ffff7f0e2e0 <_PyRuntime+280224>, callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/internal/pycore_call.h:168
func =
res =
func =
res =
nargs =
#6 PyObject_Vectorcall (callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/call.c:327
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
#7 0x00007ffff7b737f4 in _PyEval_EvalFrameDefault (tstate=, frame=, throwflag=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/generated_cases.c.h:813
total_args =
self =
method =
op =
dealloc =
self_or_null =
callable = 0x7ffff76c37e0
this_instr =
args = 0x7ffff7fbb180
res =
opcode =
oparg =
entry_frame = {f_executable = 0x7ffff7ec1130 <_Py_NoneStruct>, previous = 0x0, f_funcobj = 0x7fffe97651b0, f_globals = 0x7fffe9734500, f_builtins = 0x7fffffffdba0, f_locals = 0x2cc118914ec51e00, frame_obj = 0x7fffffffdbb0, instr_ptr = 0x7ffff7dafbc2 <_Py_INTERPRETER_TRAMPOLINE_INSTRUCTIONS+2>, stacktop = 0, return_offset = 0, owner = 3 '\003', localsplus = {0x7ffff7f0e2e0 <_PyRuntime+280224>}}
next_instr = 0x7fffe945a2d8
stack_pointer =
exception_unwind =
dying =
__func__ = "_PyEval_EvalFrameDefault"
opcode_targets = {0x7ffff7a5590b <_PyEval_EvalFrameDefault-1165989>, 0x7ffff7a51d4c <_PyEval_EvalFrameDefault-1181284>, 0x7ffff7b78bdc <_PyEval_EvalFrameDefault+26668>, 0x7ffff7b79739 <_PyEval_EvalFrameDefault+29577>, 0x7ffff7b7674b <_PyEval_EvalFrameDefault+17307>, 0x7ffff7b75bb3 <_PyEval_EvalFrameDefault+14339>, 0x7ffff7a54d18 <_PyEval_EvalFrameDefault-1169048>, 0x7ffff7b78684 <_PyEval_EvalFrameDefault+25300>, 0x7ffff7b7a671 <_PyEval_EvalFrameDefault+33473>, 0x7ffff7b79a2b <_PyEval_EvalFrameDefault+30331>, 0x7ffff7a549ef <_PyEval_EvalFrameDefault-1169857>, 0x7ffff7b7b7aa <_PyEval_EvalFrameDefault+37882>, 0x7ffff7b7a714 <_PyEval_EvalFrameDefault+33636>, 0x7ffff7b7901d <_PyEval_EvalFrameDefault+27757>, 0x7ffff7b78fc8 <_PyEval_EvalFrameDefault+27672>, 0x7ffff7b7962e <_PyEval_EvalFrameDefault+29310>, 0x7ffff7a533eb <_PyEval_EvalFrameDefault-1175493>, 0x7ffff7a5555c <_PyEval_EvalFrameDefault-1166932>, 0x7ffff7a53304 <_PyEval_EvalFrameDefault-1175724>, 0x7ffff7b758ae <_PyEval_EvalFrameDefault+13566>, 0x7ffff7b7a396 <_PyEval_EvalFrameDefault+32742>, 0x7ffff7b7a32a <_PyEval_EvalFrameDefault+32634>, 0x7ffff7b72e70 <_PyEval_EvalFrameDefault+2752>, 0x7ffff7a5512e <_PyEval_EvalFrameDefault-1168002>, 0x7ffff7b7b51a <_PyEval_EvalFrameDefault+37226>, 0x7ffff7b7b3ef <_PyEval_EvalFrameDefault+36927>, 0x7ffff7b76680 <_PyEval_EvalFrameDefault+17104>, 0x7ffff7b7b1d2 <_PyEval_EvalFrameDefault+36386>, 0x7ffff7b7ac2b <_PyEval_EvalFrameDefault+34939>, 0x7ffff7b7a591 <_PyEval_EvalFrameDefault+33249>, 0x7ffff7b75b80 <_PyEval_EvalFrameDefault+14288>, 0x7ffff7b782f5 <_PyEval_EvalFrameDefault+24389>, 0x7ffff7b72e22 <_PyEval_EvalFrameDefault+2674>, 0x7ffff7b78379 <_PyEval_EvalFrameDefault+24521>, 0x7ffff7b72d27 <_PyEval_EvalFrameDefault+2423>, 0x7ffff7b768aa <_PyEval_EvalFrameDefault+17658>, 0x7ffff7b72fa9 <_PyEval_EvalFrameDefault+3065>, 0x7ffff7b7b310 <_PyEval_EvalFrameDefault+36704>, 0x7ffff7b79c87 <_PyEval_EvalFrameDefault+30935>, 0x7ffff7b7893a <_PyEval_EvalFrameDefault+25994>, 0x7ffff7b75928 <_PyEval_EvalFrameDefault+13688>, 0x7ffff7b7aaaa <_PyEval_EvalFrameDefault+34554>, 0x7ffff7b7857e <_PyEval_EvalFrameDefault+25038>, 0x7ffff7b7991c <_PyEval_EvalFrameDefault+30060>, 0x7ffff7b7a786 <_PyEval_EvalFrameDefault+33750>, 0x7ffff7b730d7 <_PyEval_EvalFrameDefault+3367>, 0x7ffff7b7a418 <_PyEval_EvalFrameDefault+32872>, 0x7ffff7b7705d <_PyEval_EvalFrameDefault+19629>, 0x7ffff7b76db2 <_PyEval_EvalFrameDefault+18946>, 0x7ffff7b79d96 <_PyEval_EvalFrameDefault+31206>, 0x7ffff7b79b55 <_PyEval_EvalFrameDefault+30629>, 0x7ffff7b78d7f <_PyEval_EvalFrameDefault+27087>, 0x7ffff7b7513e <_PyEval_EvalFrameDefault+11662>, 0x7ffff7b76ec4 <_PyEval_EvalFrameDefault+19220>, 0x7ffff7b783ee <_PyEval_EvalFrameDefault+24638>, 0x7ffff7b7af78 <_PyEval_EvalFrameDefault+35784>, 0x7ffff7b7aece <_PyEval_EvalFrameDefault+35614>, 0x7ffff7b759e7 <_PyEval_EvalFrameDefault+13879>, 0x7ffff7b74c97 <_PyEval_EvalFrameDefault+10471>, 0x7ffff7b76042 <_PyEval_EvalFrameDefault+15506>, 0x7ffff7b796c0 <_PyEval_EvalFrameDefault+29456>, 0x7ffff7b748f2 <_PyEval_EvalFrameDefault+9538>, 0x7ffff7b739a0 <_PyEval_EvalFrameDefault+5616>, 0x7ffff7b785fa <_PyEval_EvalFrameDefault+25162>, 0x7ffff7a52b72 <_PyEval_EvalFrameDefault-1177662>, 0x7ffff7b7ade7 <_PyEval_EvalFrameDefault+35383>, 0x7ffff7a5439d <_PyEval_EvalFrameDefault-1171475>, 0x7ffff7b7ae48 <_PyEval_EvalFrameDefault+35480>, 0x7ffff7b78cda <_PyEval_EvalFrameDefault+26922>, 0x7ffff7b7b622 <_PyEval_EvalFrameDefault+37490>, 0x7ffff7a548ce <_PyEval_EvalFrameDefault-1170146>, 0x7ffff7b76bfd <_PyEval_EvalFrameDefault+18509>, 0x7ffff7b73a81 <_PyEval_EvalFrameDefault+5841>, 0x7ffff7a546f2 <_PyEval_EvalFrameDefault-1170622>, 0x7ffff7b7b159 <_PyEval_EvalFrameDefault+36265>, 0x7ffff7b7b00f <_PyEval_EvalFrameDefault+35935>, 0x7ffff7b7494a <_PyEval_EvalFrameDefault+9626>, 0x7ffff7b72cd6 <_PyEval_EvalFrameDefault+2342>, 0x7ffff7b726bf <_PyEval_EvalFrameDefault+783>, 0x7ffff7b76317 <_PyEval_EvalFrameDefault+16231>, 0x7ffff7b7428b <_PyEval_EvalFrameDefault+7899>, 0x7ffff7b7a5f0 <_PyEval_EvalFrameDefault+33344>, 0x7ffff7b73ce7 <_PyEval_EvalFrameDefault+6455>, 0x7ffff7b725c6 <_PyEval_EvalFrameDefault+534>, 0x7ffff7b72c17 <_PyEval_EvalFrameDefault+2151>, 0x7ffff7b724a1 <_PyEval_EvalFrameDefault+241>, 0x7ffff7b78726 <_PyEval_EvalFrameDefault+25462>, 0x7ffff7b79c2b <_PyEval_EvalFrameDefault+30843>, 0x7ffff7b72a60 <_PyEval_EvalFrameDefault+1712>, 0x7ffff7b7b447 <_PyEval_EvalFrameDefault+37015>, 0x7ffff7a542dc <_PyEval_EvalFrameDefault-1171668>, 0x7ffff7b78a39 <_PyEval_EvalFrameDefault+26249>, 0x7ffff7b78777 <_PyEval_EvalFrameDefault+25543>, 0x7ffff7b7a14a <_PyEval_EvalFrameDefault+32154>, 0x7ffff7b769ec <_PyEval_EvalFrameDefault+17980>, 0x7ffff7b7906d <_PyEval_EvalFrameDefault+27837>, 0x7ffff7b7b241 <_PyEval_EvalFrameDefault+36497>, 0x7ffff7b72bb6 <_PyEval_EvalFrameDefault+2054>, 0x7ffff7b75279 <_PyEval_EvalFrameDefault+11977>, 0x7ffff7b74ea1 <_PyEval_EvalFrameDefault+10993>, 0x7ffff7b72c75 <_PyEval_EvalFrameDefault+2245>, 0x7ffff7b79e64 <_PyEval_EvalFrameDefault+31412>, 0x7ffff7b79ab6 <_PyEval_EvalFrameDefault+30470>, 0x7ffff7b73036 <_PyEval_EvalFrameDefault+3206>, 0x7ffff7b77529 <_PyEval_EvalFrameDefault+20857>, 0x7ffff7b771b9 <_PyEval_EvalFrameDefault+19977>, 0x7ffff7b76e69 <_PyEval_EvalFrameDefault+19129>, 0x7ffff7b7a88d <_PyEval_EvalFrameDefault+34013>, 0x7ffff7b7743a <_PyEval_EvalFrameDefault+20618>, 0x7ffff7b78f5a <_PyEval_EvalFrameDefault+27562>, 0x7ffff7b72539 <_PyEval_EvalFrameDefault+393>, 0x7ffff7b7408d <_PyEval_EvalFrameDefault+7389>, 0x7ffff7b746c9 <_PyEval_EvalFrameDefault+8985>, 0x7ffff7b7b5a0 <_PyEval_EvalFrameDefault+37360>, 0x7ffff7b77b2a <_PyEval_EvalFrameDefault+22394>, 0x7ffff7b755a7 <_PyEval_EvalFrameDefault+12791>, 0x7ffff7b7aa12 <_PyEval_EvalFrameDefault+34402>, 0x7ffff7b7a911 <_PyEval_EvalFrameDefault+34145>, 0x7ffff7b72622 <_PyEval_EvalFrameDefault+626>, 0x7ffff7a559c6 <_PyEval_EvalFrameDefault-1165802> , 0x7ffff7b7724a <_PyEval_EvalFrameDefault+20122>, 0x7ffff7b764e3 <_PyEval_EvalFrameDefault+16691>, 0x7ffff7b744ff <_PyEval_EvalFrameDefault+8527>, 0x7ffff7b779b3 <_PyEval_EvalFrameDefault+22019>, 0x7ffff7b73902 <_PyEval_EvalFrameDefault+5458>, 0x7ffff7b76151 <_PyEval_EvalFrameDefault+15777>, 0x7ffff7b75c97 <_PyEval_EvalFrameDefault+14567>, 0x7ffff7b74f1d <_PyEval_EvalFrameDefault+11117>, 0x7ffff7b76adc <_PyEval_EvalFrameDefault+18220>, 0x7ffff7b794db <_PyEval_EvalFrameDefault+28971>, 0x7ffff7b752f1 <_PyEval_EvalFrameDefault+12097>, 0x7ffff7b7440c <_PyEval_EvalFrameDefault+8284>, 0x7ffff7b7781d <_PyEval_EvalFrameDefault+21613>, 0x7ffff7b79128 <_PyEval_EvalFrameDefault+28024>, 0x7ffff7b755f5 <_PyEval_EvalFrameDefault+12869>, 0x7ffff7b76c39 <_PyEval_EvalFrameDefault+18569>, 0x7ffff7b74fd8 <_PyEval_EvalFrameDefault+11304>, 0x7ffff7b7410f <_PyEval_EvalFrameDefault+7519>, 0x7ffff7b749c6 <_PyEval_EvalFrameDefault+9750>, 0x7ffff7b73216 <_PyEval_EvalFrameDefault+3686>, 0x7ffff7b745b1 <_PyEval_EvalFrameDefault+8705>, 0x7ffff7b747aa <_PyEval_EvalFrameDefault+9210>, 0x7ffff7b778ed <_PyEval_EvalFrameDefault+21821>, 0x7ffff7b73b51 <_PyEval_EvalFrameDefault+6049>, 0x7ffff7b7634e <_PyEval_EvalFrameDefault+16286>, 0x7ffff7b75ea0 <_PyEval_EvalFrameDefault+15088>, 0x7ffff7b77e6a <_PyEval_EvalFrameDefault+23226>, 0x7ffff7b73dbf <_PyEval_EvalFrameDefault+6671>, 0x7ffff7b734b8 <_PyEval_EvalFrameDefault+4360>, 0x7ffff7b753b4 <_PyEval_EvalFrameDefault+12292>, 0x7ffff7b77a8a <_PyEval_EvalFrameDefault+22234>, 0x7ffff7b79974 <_PyEval_EvalFrameDefault+30148>, 0x7ffff7b7438a <_PyEval_EvalFrameDefault+8154>, 0x7ffff7b772a3 <_PyEval_EvalFrameDefault+20211>, 0x7ffff7b72eb6 <_PyEval_EvalFrameDefault+2822>, 0x7ffff7b75d69 <_PyEval_EvalFrameDefault+14777>, 0x7ffff7b77ff2 <_PyEval_EvalFrameDefault+23618>, 0x7ffff7b78218 <_PyEval_EvalFrameDefault+24168>, 0x7ffff7b7811a <_PyEval_EvalFrameDefault+23914>, 0x7ffff7b73f55 <_PyEval_EvalFrameDefault+7077>, 0x7ffff7b73fe6 <_PyEval_EvalFrameDefault+7222>, 0x7ffff7b76fd4 <_PyEval_EvalFrameDefault+19492>, 0x7ffff7b79441 <_PyEval_EvalFrameDefault+28817>, 0x7ffff7a522da <_PyEval_EvalFrameDefault-1179862>, 0x7ffff7b733a3 <_PyEval_EvalFrameDefault+4083>, 0x7ffff7b76827 <_PyEval_EvalFrameDefault+17527>, 0x7ffff7b73440 <_PyEval_EvalFrameDefault+4240>, 0x7ffff7b73ebf <_PyEval_EvalFrameDefault+6927>, 0x7ffff7b751be <_PyEval_EvalFrameDefault+11790>, 0x7ffff7b7ad71 <_PyEval_EvalFrameDefault+35265>, 0x7ffff7b773a6 <_PyEval_EvalFrameDefault+20470>, 0x7ffff7b77d49 <_PyEval_EvalFrameDefault+22937>, 0x7ffff7b742f0 <_PyEval_EvalFrameDefault+8000>, 0x7ffff7b77c58 <_PyEval_EvalFrameDefault+22696>, 0x7ffff7b72adf <_PyEval_EvalFrameDefault+1839>, 0x7ffff7b72d67 <_PyEval_EvalFrameDefault+2487>, 0x7ffff7b7ab33 <_PyEval_EvalFrameDefault+34691>, 0x7ffff7b78813 <_PyEval_EvalFrameDefault+25699>, 0x7ffff7b724f2 <_PyEval_EvalFrameDefault+322>, 0x7ffff7b726fa <_PyEval_EvalFrameDefault+842>, 0x7ffff7b754d8 <_PyEval_EvalFrameDefault+12584>, 0x7ffff7b76286 <_PyEval_EvalFrameDefault+16086>, 0x7ffff7b7a836 <_PyEval_EvalFrameDefault+33926>, 0x7ffff7b765ae <_PyEval_EvalFrameDefault+16894>, 0x7ffff7b770ef <_PyEval_EvalFrameDefault+19775>, 0x7ffff7b7766a <_PyEval_EvalFrameDefault+21178>, 0x7ffff7b731cd <_PyEval_EvalFrameDefault+3613>, 0x7ffff7b7620d <_PyEval_EvalFrameDefault+15965>, 0x7ffff7b78b5f <_PyEval_EvalFrameDefault+26543>, 0x7ffff7b75fea <_PyEval_EvalFrameDefault+15418>, 0x7ffff7b77bd0 <_PyEval_EvalFrameDefault+22560>...}
word =
word =
#8 0x00007ffff7c4052b in PyEval_EvalCode (co=0x7fffe97651b0, globals=, locals=0x7fffe9734500) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:599
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
builtins =
desc = {fc_globals = 0x7fffe9734500, fc_builtins = 0x7ffff76d5d00, fc_name = 0x7ffff7ed15f0 <_PyRuntime+31152>, fc_qualname = 0x7ffff7ed15f0 <_PyRuntime+31152>, fc_code = 0x7fffe97651b0, fc_defaults = 0x0, fc_kwdefaults = 0x0, fc_closure = 0x0}
func = 0x7fffe9727240
res =
#9 0x00007ffff7c628d0 in run_eval_code_obj (tstate=tstate@entry=0x7ffff7f0e2e0 <_PyRuntime+280224>, co=co@entry=0x7fffe97651b0, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1292
v =
has_builtins =
#10 0x00007ffff7c5cf33 in run_mod (mod=mod@entry=0x5555556130f0, filename=filename@entry=0x7fffe9756a30, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500, flags=flags@entry=0x7fffffffde68, arena=arena@entry=0x7ffff7647cf0, interactive_src=0x0, generate_new_source=0) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1377
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
interactive_filename =
co = 0x7fffe97651b0
v =
#11 0x00007ffff7c7d016 in pyrun_file (fp=fp@entry=0x5555556069c0, filename=filename@entry=0x7fffe9756a30, start=start@entry=257, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500, closeit=closeit@entry=1, flags=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1210
arena = 0x7ffff7647cf0
mod =
ret =
#12 0x00007ffff7c7c18f in _PyRun_SimpleFileObject (fp=fp@entry=0x5555556069c0, filename=filename@entry=0x7fffe9756a30, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:459
ret =
main_module = 0x7fffe97076f0
dict = 0x7fffe9734500
set_file_name = 1
has_file =
pyc =
v =
#13 0x00007ffff7c7bfb1 in _PyRun_AnyFileObject (fp=fp@entry=0x5555556069c0, filename=filename@entry=0x7fffe9756a30, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:77
decref_filename = 0
res =
#14 0x00007ffff7c756b7 in pymain_run_file_obj (program_name=0x7fffe9734630, filename=0x7fffe9756a30, skip_source_first_line=0) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:357
fp = 0x5555556069c0
sb = {st_dev = 64770, st_ino = 319713036, st_nlink = 1, st_mode = 33188, st_uid = 1000, st_gid = 1000, __pad0 = 0, st_rdev = 0, st_size = 430, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1718826771, tv_nsec = 28229381}, st_mtim = {tv_sec = 1718826762, tv_nsec = 618238214}, st_ctim = {tv_sec = 1718826762, tv_nsec = 625238206}, __glibc_reserved = {0, 0, 0}}
cf = {cf_flags = 0, cf_feature_version = 13}
run =
fp =
sb =
cf =
run =
ch =
#15 pymain_run_file (config=0x7ffff7ee09d8 <_PyRuntime+93592>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:376
filename = 0x7fffe9756a30
program_name = 0x7fffe9734630
res =
filename =
program_name =
res =
#16 pymain_run_python (exitcode=0x7fffffffde5c) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:639
main_importer_path =
interp = 0x7ffff7edeaa0 <_PyRuntime+85600>
config = 0x7ffff7ee09d8 <_PyRuntime+93592>
path0 = 0x7fffe9759ca0
main_importer_path =
interp =
config =
error =
path0 =
done =
res =
_tmp_op_ptr =
_tmp_old_op =
wstr =
res =
#17 Py_RunMain () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:718
exitcode = 0
#18 0x00007ffff7c2c89c in Py_BytesMain (argc=, argv=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:772
args = {argc = 2, use_bytes_argv = 1, bytes_argv = 0x7fffffffe0c8, wchar_argv = 0x0}
#19 0x00007ffff7838248 in __libc_start_call_main (main=main@entry=0x555555555160 , argc=argc@entry=2, argv=argv@entry=0x7fffffffe0c8) at ../sysdeps/nptl/libc_start_call_main.h:58
self =
result =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488347336, 2062329613095650748, 2, 0, 140737354125312, 93824992247152, 2062329613152273852, 2062311233837319612}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x2, 0x7fffffffe0c0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 2}}}
not_first_call =
#20 0x00007ffff783830b in __libc_start_main_impl (main=0x555555555160 , argc=2, argv=0x7fffffffe0c8, init=, fini=, rtld_fini=, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:360
No locals.
#21 0x0000555555555095 in _start ()
No symbol table info available.
quit
#0 framelocalsproxy_getitem (self=, key=0x7ffff7ed4b98 <_PyRuntime+44888>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/frameobject.c:117
#1 0x00007ffff7b5cb2b in dict_merge (interp=, a=, b=0x7fffe9613460, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
#2 dict_merge (interp=, a=, b=0x7fffe9613460, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3771
#3 0x00007ffff7ca5a72 in _PyEval_GetFrameLocals () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:2511
#4 0x00007ffff7b61abf in cfunction_vectorcall_NOARGS (func=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/cpython/methodobject.h:50
#5 0x00007ffff7b60dc7 in _PyObject_VectorcallTstate (tstate=0x7ffff7f0e2e0 <_PyRuntime+280224>, callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/internal/pycore_call.h:168
#6 PyObject_Vectorcall (callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/call.c:327
#7 0x00007ffff7b737f4 in _PyEval_EvalFrameDefault (tstate=, frame=, throwflag=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/generated_cases.c.h:813
#8 0x00007ffff7c4052b in PyEval_EvalCode (co=0x7fffe97651b0, globals=, locals=0x7fffe9734500) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:599
#9 0x00007ffff7c628d0 in run_eval_code_obj (tstate=tstate@entry=0x7ffff7f0e2e0 <_PyRuntime+280224>, co=co@entry=0x7fffe97651b0, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1292
#10 0x00007ffff7c5cf33 in run_mod (mod=mod@entry=0x555555612720, filename=filename@entry=0x7fffe9756a30, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500, flags=flags@entry=0x7fffffffde68, arena=arena@entry=0x7ffff7647cf0, interactive_src=0x0, generate_new_source=0) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1377
#11 0x00007ffff7c7d016 in pyrun_file (fp=fp@entry=0x5555555815c0, filename=filename@entry=0x7fffe9756a30, start=start@entry=257, globals=globals@entry=0x7fffe9734500, locals=locals@entry=0x7fffe9734500, closeit=closeit@entry=1, flags=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:1210
#12 0x00007ffff7c7c18f in _PyRun_SimpleFileObject (fp=fp@entry=0x5555555815c0, filename=filename@entry=0x7fffe9756a30, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:459
#13 0x00007ffff7c7bfb1 in _PyRun_AnyFileObject (fp=fp@entry=0x5555555815c0, filename=filename@entry=0x7fffe9756a30, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde68) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/pythonrun.c:77
#14 0x00007ffff7c756b7 in pymain_run_file_obj (program_name=0x7fffe9734630, filename=0x7fffe9756a30, skip_source_first_line=0) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:357
#15 pymain_run_file (config=0x7ffff7ee09d8 <_PyRuntime+93592>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:376
#16 pymain_run_python (exitcode=0x7fffffffde5c) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:639
#17 Py_RunMain () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:718
#18 0x00007ffff7c2c89c in Py_BytesMain (argc=, argv=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Modules/main.c:772
#19 0x00007ffff7838248 in __libc_start_call_main (main=main@entry=0x555555555160 , argc=argc@entry=2, argv=argv@entry=0x7fffffffe0c8) at ../sysdeps/nptl/libc_start_call_main.h:58
#20 0x00007ffff783830b in __libc_start_main_impl (main=0x555555555160 , argc=2, argv=0x7fffffffe0c8, init=, fini=, rtld_fini=, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:360
#21 0x0000555555555095 in _start ()
#0 framelocalsproxy_getitem (self=, key=0x7ffff7ed4b98 <_PyRuntime+44888>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/frameobject.c:117
value = 0x8
i =
frame = 0x7fffe95df6b0
co = 0x7fffe945a0b0
extra =
#1 0x00007ffff7b5cb2b in dict_merge (interp=, a=, b=0x7fffe9613460, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
keys =
iter = 0x7fffe9429f00
key =
value =
status =
mp =
other =
res =
slow_exit =
mp =
other =
res =
slow_exit =
res =
keys =
iter =
key =
value =
status =
#2 dict_merge (interp=, a=, b=0x7fffe9613460, override=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3771
mp =
other =
res = 0
slow_exit =
keys =
iter =
key =
value =
status =
#3 0x00007ffff7ca5a72 in _PyEval_GetFrameLocals () at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/ceval.c:2511
ret = 0x7fffe95e7780
op =
dealloc =
op =
dealloc =
op =
dealloc =
tstate =
current_frame =
locals = 0x7fffe9613460
#4 0x00007ffff7b61abf in cfunction_vectorcall_NOARGS (func=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/cpython/methodobject.h:50
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
nargs =
meth =
result =
#5 0x00007ffff7b60dc7 in _PyObject_VectorcallTstate (tstate=0x7ffff7f0e2e0 <_PyRuntime+280224>, callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/internal/pycore_call.h:168
func =
res =
func =
res =
nargs =
#6 PyObject_Vectorcall (callable=0x7ffff76c37e0, args=, nargsf=, kwnames=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/call.c:327
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
#7 0x00007ffff7b737f4 in _PyEval_EvalFrameDefault (tstate=, frame=, throwflag=) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/generated_cases.c.h:813
total_args =
self =
method =
op =
dealloc =
self_or_null =
callable = 0x7ffff76c37e0
this_instr =
args = 0x7ffff7fbb170
res =
opcode =
oparg =
entry_frame = {f_executable = 0x7ffff7ec1130 <_Py_NoneStruct>, previous = 0x0, f_funcobj = 0x7fffe97651b0, f_globals = 0x7fffe9734500, f_builtins = 0x7fffffffdba0, f_locals = 0xa7675715f612ed00, frame_obj = 0x7fffffffdbb0, instr_ptr = 0x7ffff7dafbc2 <_Py_INTERPRETER_TRAMPOLINE_INSTRUCTIONS+2>, stacktop = 0, return_offset = 0, owner = 3 '\003', localsplus = {0x7ffff7f0e2e0 <_PyRuntime+280224>}}
next_instr = 0x7fffe945a198
stack_pointer =
The following example crashes with Python 3.13.0b2 (python3-3.13.0~b2-3.fc41.x86_64):
(originally reproduced and extracted from the RBTools test suite)
Interpreter backtrace:
``` (gdb) bt #0 framelocalsproxy_getitem (self=