kgb
kgb copied to clipboard
Crashes with Python 3.13 b2
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=<optimized out>, 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=<optimized out>, a=<optimized out>, b=0x7fffe942df30, override=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
#2 dict_merge (interp=<optimized out>, a=<optimized out>, b=0x7fffe942df30, override=<optimized out>) 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=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) 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=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) 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=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/call.c:327
#7 0x00007ffff7b737f4 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) 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=<optimized out>, 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=<optimized out>, argv=<optimized out>) 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 <main>, 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 <main>, argc=2, argv=0x7fffffffe0c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:360
#21 0x0000555555555095 in _start ()
(gdb) bt full
#0 framelocalsproxy_getitem (self=<optimized out>, 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 = <optimized out>
frame = 0x7fffe95df780
co = 0x7fffe945a1f0
extra = <optimized out>
#1 0x00007ffff7b5cb2b in dict_merge (interp=<optimized out>, a=<optimized out>, b=0x7fffe942df30, override=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
keys = <optimized out>
iter = 0x7fffe947f550
key = <optimized out>
value = <optimized out>
status = <optimized out>
mp = <optimized out>
other = <optimized out>
res = <optimized out>
slow_exit = <optimized out>
mp = <optimized out>
other = <optimized out>
res = <optimized out>
slow_exit = <optimized out>
res = <optimized out>
keys = <optimized out>
iter = <optimized out>
key = <optimized out>
value = <optimized out>
status = <optimized out>
#2 dict_merge (interp=<optimized out>, a=<optimized out>, b=0x7fffe942df30, override=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3771
mp = <optimized out>
other = <optimized out>
res = 0
slow_exit = <optimized out>
keys = <optimized out>
iter = <optimized out>
key = <optimized out>
value = <optimized out>
status = <optimized out>
#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 = <optimized out>
dealloc = <optimized out>
op = <optimized out>
dealloc = <optimized out>
op = <optimized out>
dealloc = <optimized out>
tstate = <optimized out>
current_frame = <optimized out>
locals = 0x7fffe942df30
#4 0x00007ffff7b61abf in cfunction_vectorcall_NOARGS (func=0x7ffff76c37e0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/cpython/methodobject.h:50
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
nargs = <optimized out>
meth = <optimized out>
result = <optimized out>
#5 0x00007ffff7b60dc7 in _PyObject_VectorcallTstate (tstate=0x7ffff7f0e2e0 <_PyRuntime+280224>, callable=0x7ffff76c37e0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/internal/pycore_call.h:168
func = <optimized out>
res = <optimized out>
func = <optimized out>
res = <optimized out>
nargs = <optimized out>
#6 PyObject_Vectorcall (callable=0x7ffff76c37e0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) 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=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/generated_cases.c.h:813
total_args = <optimized out>
self = <optimized out>
method = <optimized out>
op = <optimized out>
dealloc = <optimized out>
self_or_null = <optimized out>
callable = 0x7ffff76c37e0
this_instr = <optimized out>
args = 0x7ffff7fbb180
res = <optimized out>
opcode = <optimized out>
oparg = <optimized out>
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 = <optimized out>
exception_unwind = <optimized out>
dying = <optimized out>
__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> <repeats 30 times>, 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 = <optimized out>
word = <optimized out>
#8 0x00007ffff7c4052b in PyEval_EvalCode (co=0x7fffe97651b0, globals=<optimized out>, 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 = <optimized out>
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 = <optimized out>
#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 = <optimized out>
has_builtins = <optimized out>
#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 = <optimized out>
co = 0x7fffe97651b0
v = <optimized out>
#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 = <optimized out>
ret = <optimized out>
#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 = <optimized out>
main_module = 0x7fffe97076f0
dict = 0x7fffe9734500
set_file_name = 1
has_file = <optimized out>
pyc = <optimized out>
v = <optimized out>
#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 = <optimized out>
#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 = <optimized out>
fp = <optimized out>
sb = <optimized out>
cf = <optimized out>
run = <optimized out>
ch = <optimized out>
#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 = <optimized out>
filename = <optimized out>
program_name = <optimized out>
res = <optimized out>
#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 = <optimized out>
interp = 0x7ffff7edeaa0 <_PyRuntime+85600>
config = 0x7ffff7ee09d8 <_PyRuntime+93592>
path0 = 0x7fffe9759ca0
main_importer_path = <optimized out>
interp = <optimized out>
config = <optimized out>
error = <optimized out>
path0 = <optimized out>
done = <optimized out>
res = <optimized out>
_tmp_op_ptr = <optimized out>
_tmp_old_op = <optimized out>
wstr = <optimized out>
res = <optimized out>
#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=<optimized out>, argv=<optimized out>) 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 <main>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe0c8) at ../sysdeps/nptl/libc_start_call_main.h:58
self = <optimized out>
result = <optimized out>
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 = <optimized out>
#20 0x00007ffff783830b in __libc_start_main_impl (main=0x555555555160 <main>, argc=2, argv=0x7fffffffe0c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 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=<optimized out>, 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=<optimized out>, a=<optimized out>, b=0x7fffe9613460, override=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
#2 dict_merge (interp=<optimized out>, a=<optimized out>, b=0x7fffe9613460, override=<optimized out>) 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=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) 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=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) 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=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/call.c:327
#7 0x00007ffff7b737f4 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) 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=<optimized out>, 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=<optimized out>, argv=<optimized out>) 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 <main>, 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 <main>, argc=2, argv=0x7fffffffe0c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:360
#21 0x0000555555555095 in _start ()
#0 framelocalsproxy_getitem (self=<optimized out>, 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 = <optimized out>
frame = 0x7fffe95df6b0
co = 0x7fffe945a0b0
extra = <optimized out>
#1 0x00007ffff7b5cb2b in dict_merge (interp=<optimized out>, a=<optimized out>, b=0x7fffe9613460, override=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3839
keys = <optimized out>
iter = 0x7fffe9429f00
key = <optimized out>
value = <optimized out>
status = <optimized out>
mp = <optimized out>
other = <optimized out>
res = <optimized out>
slow_exit = <optimized out>
mp = <optimized out>
other = <optimized out>
res = <optimized out>
slow_exit = <optimized out>
res = <optimized out>
keys = <optimized out>
iter = <optimized out>
key = <optimized out>
value = <optimized out>
status = <optimized out>
#2 dict_merge (interp=<optimized out>, a=<optimized out>, b=0x7fffe9613460, override=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Objects/dictobject.c:3771
mp = <optimized out>
other = <optimized out>
res = 0
slow_exit = <optimized out>
keys = <optimized out>
iter = <optimized out>
key = <optimized out>
value = <optimized out>
status = <optimized out>
#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 = <optimized out>
dealloc = <optimized out>
op = <optimized out>
dealloc = <optimized out>
op = <optimized out>
dealloc = <optimized out>
tstate = <optimized out>
current_frame = <optimized out>
locals = 0x7fffe9613460
#4 0x00007ffff7b61abf in cfunction_vectorcall_NOARGS (func=0x7ffff76c37e0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/cpython/methodobject.h:50
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
nargs = <optimized out>
meth = <optimized out>
result = <optimized out>
#5 0x00007ffff7b60dc7 in _PyObject_VectorcallTstate (tstate=0x7ffff7f0e2e0 <_PyRuntime+280224>, callable=0x7ffff76c37e0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Include/internal/pycore_call.h:168
func = <optimized out>
res = <optimized out>
func = <optimized out>
res = <optimized out>
nargs = <optimized out>
#6 PyObject_Vectorcall (callable=0x7ffff76c37e0, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) 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=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.0~b2-3.fc41.x86_64/Python/generated_cases.c.h:813
total_args = <optimized out>
self = <optimized out>
method = <optimized out>
op = <optimized out>
dealloc = <optimized out>
self_or_null = <optimized out>
callable = 0x7ffff76c37e0
this_instr = <optimized out>
args = 0x7ffff7fbb170
res = <optimized out>
opcode = <optimized out>
oparg = <optimized out>
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 = <optimized out>
exception_unwind = <optimized out>
dying = <optimized out>
__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> <repeats 30 times>, 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 = <optimized out>
word = <optimized out>
#8 0x00007ffff7c4052b in PyEval_EvalCode (co=0x7fffe97651b0, globals=<optimized out>, 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 = <optimized out>
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 = 0x7ffff76fd4e0
res = <optimized out>
#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 = <optimized out>
has_builtins = <optimized out>
#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
tstate = 0x7ffff7f0e2e0 <_PyRuntime+280224>
interactive_filename = <optimized out>
co = 0x7fffe97651b0
v = <optimized out>
#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
arena = 0x7ffff7647cf0
mod = <optimized out>
ret = <optimized out>
#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
ret = <optimized out>
main_module = 0x7fffe97076f0
dict = 0x7fffe9734500
set_file_name = 1
has_file = <optimized out>
pyc = <optimized out>
v = <optimized out>
#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
decref_filename = 0
res = <optimized out>
#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 = 0x5555555815c0
sb = {st_dev = 64770, st_ino = 302687996, st_nlink = 1, st_mode = 33188, st_uid = 1000, st_gid = 1000, __pad0 = 0, st_rdev = 0, st_size = 392, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1718827209, tv_nsec = 152769371}, st_mtim = {tv_sec = 1718827204, tv_nsec = 111774661}, st_ctim = {tv_sec = 1718827204, tv_nsec = 119774653}, __glibc_reserved = {0, 0, 0}}
cf = {cf_flags = 0, cf_feature_version = 13}
run = <optimized out>
fp = <optimized out>
sb = <optimized out>
cf = <optimized out>
run = <optimized out>
ch = <optimized out>
#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 = <optimized out>
filename = <optimized out>
program_name = <optimized out>
res = <optimized out>
#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 = <optimized out>
interp = 0x7ffff7edeaa0 <_PyRuntime+85600>
config = 0x7ffff7ee09d8 <_PyRuntime+93592>
path0 = 0x7fffe9759ca0
main_importer_path = <optimized out>
interp = <optimized out>
config = <optimized out>
error = <optimized out>
path0 = <optimized out>
done = <optimized out>
res = <optimized out>
_tmp_op_ptr = <optimized out>
_tmp_old_op = <optimized out>
wstr = <optimized out>
res = <optimized out>
#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=<optimized out>, argv=<optimized out>) 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 <main>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe0c8) at ../sysdeps/nptl/libc_start_call_main.h:58
self = <optimized out>
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488347336, -5186364730400193682, 2, 0, 140737354125312, 93824992247152, -5186364729089473682, -5186382907729525906}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x2, 0x7fffffffe0c0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 2}}}
not_first_call = <optimized out>
#20 0x00007ffff783830b in __libc_start_main_impl (main=0x555555555160 <main>, argc=2, argv=0x7fffffffe0c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:360
No locals.
#21 0x0000555555555095 in _start ()
No symbol table info available.
Should be reliably reproducible in a fresh fedora:rawhide container.
I suspect that some changes in 3.13 weren't compatible with the way kgb works and require corresponding fixes here. I suppose this could be a Python bug instead, but even in that case I won't be able to debug that and will need your help.
Thanks for the report! Shame this is busted...
My initial hunch is that it has to do with the new locals() changes (https://peps.python.org/pep-0667/). Of course, it could be something else (JIT stuff, maybe?).
I'm going to need to spend some time figuring out exactly how this would impact bytecode mutation, and whether a workaround is possible.
Yeah, it's locals handling. Any call to locals() within our compiled function breaks. This indicates a problem building our CodeType, which may help narrow down the cause.
Testing a fix.
Can you test the attached patch locally?
Thanks!
The patch works for me both locally and in the package build environment.
Thanks for testing that so quickly!
I want to hold off on any release until 3.13 is further along (we haven't begun any official testing on 3.13 yet), in case anything regresses from this fix. We'll want to test it a while for existing releases. Would this be a blocker for you?
That is fine, I'll just skip the testcase in the RBTools package spec and reenable it when we get a fix. No other packages were affected so we can wait.
Sounds good. Out of curiosity, is this for a Linux distro, or in-house build management?
It's for Fedora Linux. I took ownership of the RBTools package a few months ago.