New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.12.0b2: "Assertion failed: immortal object has less refcnt than expected _Py_IMMORTAL_REFCNT" #105587
Comments
I was able to use gdb's Thread 1 "python3" hit Hardware read watchpoint 1: _PyRuntime.static_objects.singletons.bytes_characters[120]->ob->ob_base->ob_base->ob_refcnt
Value = 4294967295
0x00005555556e2547 in Py_INCREF (op=b'x') at ./Include/object.h:629
629 if (new_refcnt == 0) {
(gdb) bt
#0 0x00005555556e2547 in Py_INCREF (op=b'x') at ./Include/object.h:629
#1 _Py_NewRef (obj=b'x') at ./Include/object.h:804
#2 PyBytes_FromStringAndSize (str=0x555555c152e8 <_PyRuntime+77544> "x", size=1) at Objects/bytesobject.c:128
#3 0x00005555557755c5 in unicode_encode_utf8 (unicode=unicode@entry='x', error_handler=error_handler@entry=_Py_ERROR_UNKNOWN, errors=errors@entry=0x0) at Objects/unicodeobject.c:5077
#4 0x00005555557810f3 in _PyUnicode_AsUTF8String (unicode=unicode@entry='x', errors=errors@entry=0x0) at Objects/unicodeobject.c:5165
#5 0x0000555555781103 in PyUnicode_AsUTF8String (unicode=unicode@entry='x') at Objects/unicodeobject.c:5172
#6 0x00007ffff2fd8c79 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<ScalarNode(tag='tag:yaml.org,2002:str', value='x', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad000>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>)
at yaml/_yaml.c:19983
[...] Full stack: #0 0x00005555556e2547 in Py_INCREF (op=b'x') at ./Include/object.h:629
#1 _Py_NewRef (obj=b'x') at ./Include/object.h:804
#2 PyBytes_FromStringAndSize (str=0x555555c152e8 <_PyRuntime+77544> "x", size=1) at Objects/bytesobject.c:128
#3 0x00005555557755c5 in unicode_encode_utf8 (unicode=unicode@entry='x', error_handler=error_handler@entry=_Py_ERROR_UNKNOWN, errors=errors@entry=0x0) at Objects/unicodeobject.c:5077
#4 0x00005555557810f3 in _PyUnicode_AsUTF8String (unicode=unicode@entry='x', errors=errors@entry=0x0) at Objects/unicodeobject.c:5165
#5 0x0000555555781103 in PyUnicode_AsUTF8String (unicode=unicode@entry='x') at Objects/unicodeobject.c:5172
#6 0x00007ffff2fd8c79 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<ScalarNode(tag='tag:yaml.org,2002:str', value='x', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad000>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>)
at yaml/_yaml.c:19983
#7 0x00007ffff2fd9e13 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='x', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad000>, <ScalarNode(tag='tag:yaml.org,2002:int', value='0', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad0f0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='y', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad1e0>, <ScalarNode(tag='tag:yaml.org,2002:int', value='0', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad2d0>)], start_mark=None, end_mark=None, flow_style=False) at remote 0x7fffcc5ace70>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21250
#8 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value='2023-06-09T21:16:20', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acbf0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='pinned', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acc90>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='false', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acd30>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='scroll-pos', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acdd0>, <MappingNode(tag='tag:yaml.org,2002:map', value=[(...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#9 0x00007ffff2fd93f9 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value='2023-06-09T21:16:20', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acbf0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='pinned', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acc90>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='false', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acd30>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='scroll-pos', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acdd0>, ...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:20717
#10 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac6a0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value='2023-06-09T21:16:20', start_mark=None, end_mark=N...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#11 0x00007ffff2fd93f9 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac6a0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value=...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:20717
#12 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac6a0>, <SequenceNode(...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#13 0x00007ffff2fd93f9 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, --Type <RET> for more, q to quit, c to continue without paging--
style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, sty...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:20717
#14 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='windows', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc597d50>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', v...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#15 0x00007ffff2fd6ca7 in __pyx_pf_4yaml_5_yaml_8CEmitter_12serialize
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='windows', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc597d50>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', v...(truncated)) at yaml/_yaml.c:18775
#16 0x00007ffff2fd7285 in __pyx_pw_4yaml_5_yaml_8CEmitter_13serialize (__pyx_v_self=<optimized out>, __pyx_v_node=<optimized out>) at yaml/_yaml.c:18153
#17 0x00005555556f7c17 in method_vectorcall_O (func=<method_descriptor at remote 0x7ffff0d5a990>, args=0x7ffff7f7f988, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/descrobject.c:482
#18 0x00005555556eb56c in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<method_descriptor at remote 0x7ffff0d5a990>, args=args@entry=0x7ffff7f7f988, nargsf=9223372036854775810, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#19 0x00005555556eb640 in PyObject_Vectorcall (callable=callable@entry=<method_descriptor at remote 0x7ffff0d5a990>, args=args@entry=0x7ffff7f7f988, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:325
#20 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f920, throwflag=0) at Python/bytecodes.c:2645
#21 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#22 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7fffe4bcc710, locals=locals@entry=0x0, args=0x7fffffffb028, argcount=1, kwnames=0x0) at Python/ceval.c:1610
#23 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#24 0x00005555556ee35e in _PyObject_VectorcallTstate
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffe4bcc710>, args=args@entry=0x7fffffffb028, nargsf=nargsf@entry=1, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#25 0x00005555556ee56b in method_vectorcall (method=<optimized out>, args=0x555555c18b78 <_PyRuntime+92024>, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:67
#26 0x00005555556ecfc3 in _PyVectorcall_Call
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=0x5555556ee3e6 <method_vectorcall>, callable=callable@entry=<method at remote 0x7fffd849bd10>, tuple=tuple@entry=(), kwargs=kwargs@entry={}) at Objects/call.c:271
#27 0x00005555556ed2db in _PyObject_Call (tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<method at remote 0x7fffd849bd10>, args=args@entry=(), kwargs=kwargs@entry={}) at Objects/call.c:354
#28 0x00005555556ed313 in PyObject_Call (callable=callable@entry=<method at remote 0x7fffd849bd10>, args=args@entry=(), kwargs=kwargs@entry={}) at Objects/call.c:379
#29 0x00005555557f0b9e in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f4a8, throwflag=0) at Python/bytecodes.c:3193
#30 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#31 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7fffe4dafc50, locals=locals@entry=0x0, args=0x7fffffffb3d0, argcount=1, kwnames=0x0) at Python/ceval.c:1610
#32 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#33 0x00005555556eccc2 in _PyObject_FastCallDictTstate
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffe4dafc50>, args=args@entry=0x7fffffffb3d0, nargsf=nargsf@entry=1, kwargs=kwargs@entry=0x0) at Objects/call.c:133
#34 0x00005555556eceb3 in _PyObject_Call_Prepend
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffe4dafc50>, obj=obj@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=(), kwargs=kwargs@entry=0x0) at Objects/call.c:508
#35 0x000055555575e912 in slot_tp_call
(self=self@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=(), kwds=kwds@entry=0x0) at Objects/typeobject.c:8761
--Type <RET> for more, q to quit, c to continue without paging--
#36 0x00005555556eb3b2 in _PyObject_MakeTpCall
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=0x7ffff7f7f498, nargs=<optimized out>, keywords=keywords@entry=0x0) at Objects/call.c:240
#37 0x00005555556eb5f2 in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=0x7ffff7f7f498, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at ./Include/internal/pycore_call.h:90
#38 0x00005555556eb640 in PyObject_Vectorcall
(callable=callable@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=0x7ffff7f7f498, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:325
#39 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f430, throwflag=0) at Python/bytecodes.c:2645
#40 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#41 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7fffcc571fd0, locals=locals@entry=0x0, args=0x7fffffffb780, argcount=2, kwnames=0x0) at Python/ceval.c:1610
#42 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#43 0x00005555556ee35e in _PyObject_VectorcallTstate
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffcc571fd0>, args=args@entry=0x7fffffffb780, nargsf=nargsf@entry=2, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#44 0x00005555556ee4c1 in method_vectorcall (method=<optimized out>, args=0x7fffe44d7628, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:89
#45 0x00005555556ecfc3 in _PyVectorcall_Call
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=0x5555556ee3e6 <method_vectorcall>, callable=callable@entry=<method at remote 0x7fffe45c5550>, tuple=tuple@entry=(True,), kwargs=kwargs@entry=0x0) at Objects/call.c:271
#46 0x00005555556ed2db in _PyObject_Call (tstate=0x555555c76490 <_PyRuntime+475280>, callable=<method at remote 0x7fffe45c5550>, args=(True,), kwargs=0x0) at Objects/call.c:354
#47 0x00005555556ed313 in PyObject_Call (callable=<optimized out>, args=<optimized out>, kwargs=<optimized out>) at Objects/call.c:379
#48 0x00007ffff682d6c0 in PyQtSlot::call(_object*, _object*) const () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#49 0x00007ffff682db50 in PyQtSlot::invoke(void**, _object*, void*, bool) const () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#50 0x00007ffff682dd10 in PyQtSlot::invoke(void**, _object*, void*) const () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#51 0x00007ffff6833ffe in qt_metacall_worker(_sipSimpleWrapper*, _typeobject*, _sipTypeDef*, QMetaObject::Call, int, void**) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#52 0x00007ffff33c1b1d in sipQWidget::qt_metacall(QMetaObject::Call, int, void**) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWidgets.abi3.so
#53 0x00007ffff5f9ba1f in () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#54 0x00007fffea0cce82 in QWebEnginePage::loadFinished(bool) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#55 0x00007fffea0cda62 in () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#56 0x00007ffff5f8cf4c in QObject::event(QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#57 0x00007fffe53ad7db in sipQWebEnginePage::event(QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWebEngineCore.abi3.so
#58 0x00007ffff297f292 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Widgets.so.6
#59 0x00007ffff33beb76 in sipQApplication::notify(QObject*, QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWidgets.abi3.so
#60 0x00007ffff5f3d4fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#61 0x00007ffff5f4069d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#62 0x00007ffff61e8323 in () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#63 0x00007ffff6bff981 in g_main_dispatch (context=0x7fffdc000fc0) at ../glib/glib/gmain.c:3460
#64 g_main_context_dispatch (context=0x7fffdc000fc0) at ../glib/glib/gmain.c:4200
#65 0x00007ffff6c5cb39 in g_main_context_iterate.isra.0 (context=context@entry=0x7fffdc000fc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#66 0x00007ffff6bfd032 in g_main_context_iteration (context=0x7fffdc000fc0, may_block=1) at ../glib/glib/gmain.c:4343
#67 0x00007ffff61e7caa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#68 0x00007ffff5f48d7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#69 0x00007ffff5f455ae in QCoreApplication::exec() () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#70 0x00007ffff3200d2f in meth_QApplication_exec () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWidgets.abi3.so
#71 0x000055555573803d in cfunction_call (func=func@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=(), kwargs=kwargs@entry=0x0) at Objects/methodobject.c:548
#72 0x00005555556eb3b2 in _PyObject_MakeTpCall
--Type <RET> for more, q to quit, c to continue without paging--
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=0x7ffff7f7f390, nargs=<optimized out>, keywords=keywords@entry=0x0) at Objects/call.c:240
#73 0x00005555556eb5f2 in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=0x7ffff7f7f390, nargsf=<optimized out>, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:90
#74 0x00005555556eb640 in PyObject_Vectorcall (callable=callable@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=0x7ffff7f7f390, nargsf=<optimized out>, kwnames=kwnames@entry=0x0)
at Objects/call.c:325
#75 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f338, throwflag=0) at Python/bytecodes.c:2645
#76 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#77 0x00005555557f2da9 in _PyEval_Vector
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=func@entry=0x7ffff77304d0, locals=locals@entry={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/
git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0) at Python/ceval.c:1610
#78 0x00005555557f2e68 in PyEval_EvalCode
(co=co@entry=<code at remote 0x7ffff7c82ce0>, globals=globals@entry={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, locals=locals@entry={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}) at Python/ceval.c:567
#79 0x00005555557d8117 in builtin_exec_impl
(module=module@entry=<module at remote 0x7ffff7c2e510>, source=<code at remote 0x7ffff7c82ce0>, globals={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, locals={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, closure=0x0) at Python/bltinmodule.c:1079
#80 0x00005555557d8232 in builtin_exec (module=<module at remote 0x7ffff7c2e510>, args=<optimized out>, args@entry=0x7ffff7f7f180, nargs=nargs@entry=2, kwnames=kwnames@entry=0x0) at Python/clinic/bltinmodule.c.h:586
#81 0x00005555557377ae in cfunction_vectorcall_FASTCALL_KEYWORDS (func=<built-in method exec of module object at remote 0x7ffff7c2e510>, args=0x7ffff7f7f180, nargsf=<optimized out>, kwnames=0x0) at Objects/methodobject.c:438
#82 0x00005555556eb56c in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<built-in method exec of module object at remote 0x7ffff7c2e510>, args=args@entry=0x7ffff7f7f180, nargsf=9223372036854775810, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#83 0x00005555556eb640 in PyObject_Vectorcall (callable=callable@entry=<built-in method exec of module object at remote 0x7ffff7c2e510>, args=args@entry=0x7ffff7f7f180, nargsf=<optimized out>, kwnames=kwnames@entry=0x0)
at Objects/call.c:325
#84 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f0d8, throwflag=0) at Python/bytecodes.c:2645
#85 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#86 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7ffff77a6750, locals=locals@entry=0x0, args=0x7ffff7794428, argcount=2, kwnames=0x0) at Python/ceval.c:1610
#87 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
--Type <RET> for more, q to quit, c to continue without paging--
#88 0x00005555556ecfc3 in _PyVectorcall_Call
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=0x5555556eb1b7 <_PyFunction_Vectorcall>, callable=callable@entry=<function at remote 0x7ffff77a6750>, tuple=tuple@entry=('qutebrowser', True), kwargs=kwargs@entry=0x0)
at Objects/call.c:271
#89 0x00005555556ed2db in _PyObject_Call (tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7ffff77a6750>, args=args@entry=('qutebrowser', True), kwargs=kwargs@entry=0x0) at Objects/call.c:354
#90 0x00005555556ed313 in PyObject_Call (callable=callable@entry=<function at remote 0x7ffff77a6750>, args=args@entry=('qutebrowser', True), kwargs=kwargs@entry=0x0) at Objects/call.c:379
#91 0x0000555555874b71 in pymain_run_module (modname=<optimized out>, set_argv0=set_argv0@entry=1) at Modules/main.c:300
#92 0x0000555555875696 in pymain_run_python (exitcode=exitcode@entry=0x7fffffffc8a4) at Modules/main.c:604
#93 0x000055555587597e in Py_RunMain () at Modules/main.c:689
#94 0x00005555558759f5 in pymain_main (args=args@entry=0x7fffffffc900) at Modules/main.c:719
#95 0x0000555555875abb in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:743
#96 0x0000555555653782 in main (argc=<optimized out>, argv=<optimized out>) at ./Programs/python.c:15 And then that also calls Thread 1 "python3" hit Hardware read watchpoint 1: _PyRuntime.static_objects.singletons.bytes_characters[120]->ob->ob_base->ob_base->ob_refcnt
Value = 4294967295
0x00007ffff2fcb278 in Py_DECREF (filename=filename@entry=0x7ffff2ff5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=b'x') at ../../../home/florian/proj/cpython/Include/object.h:527
527 ../../../home/florian/proj/cpython/Include/object.h: Bad file descriptor.
(gdb) bt
#0 0x00007ffff2fcb278 in Py_DECREF (filename=filename@entry=0x7ffff2ff5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=b'x') at ../../../home/florian/proj/cpython/Include/object.h:527
#1 0x00007ffff2fcc436 in Py_XDECREF (op=op@entry=b'x') at ../../../home/florian/proj/cpython/Include/object.h:609
#2 0x00007ffff2fda642 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node (__pyx_v_self=<optimized out>, __pyx_v_node=<optimized out>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21393
#3 0x00007ffff2fd9e13 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='x', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad000>, <ScalarNode(tag='tag:yaml.org,2002:int', value='0', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad0f0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='y', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad1e0>, <ScalarNode(tag='tag:yaml.org,2002:int', value='0', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad2d0>)], start_mark=None, end_mark=None, flow_style=False) at remote 0x7fffcc5ace70>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21250 Full stacktrace: #0 0x00007ffff2fcb278 in Py_DECREF (filename=filename@entry=0x7ffff2ff5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=b'x') at ../../../home/florian/proj/cpython/Include/object.h:527
#1 0x00007ffff2fcc436 in Py_XDECREF (op=op@entry=b'x') at ../../../home/florian/proj/cpython/Include/object.h:609
#2 0x00007ffff2fda642 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node (__pyx_v_self=<optimized out>, __pyx_v_node=<optimized out>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21393
#3 0x00007ffff2fd9e13 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='x', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad000>, <ScalarNode(tag='tag:yaml.org,2002:int', value='0', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad0f0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='y', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad1e0>, <ScalarNode(tag='tag:yaml.org,2002:int', value='0', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ad2d0>)], start_mark=None, end_mark=None, flow_style=False) at remote 0x7fffcc5ace70>, __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21250
#4 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value='2023-06-09T21:16:20', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acbf0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='pinned', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acc90>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='false', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acd30>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='scroll-pos', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acdd0>, <MappingNode(tag='tag:yaml.org,2002:map', value=[(...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#5 0x00007ffff2fd93f9 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value='2023-06-09T21:16:20', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acbf0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='pinned', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acc90>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='false', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acd30>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='scroll-pos', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acdd0>, ...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:20717
#6 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac6a0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value='2023-06-09T21:16:20', start_mark=None, end_mark=N...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#7 0x00007ffff2fd93f9 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac6a0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5aca10>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acab0>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='last_visited', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5acb50>, <ScalarNode(tag='tag:yaml.org,2002:str', value=...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:20717
#8 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac6a0>, <SequenceNode(...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#9 0x00007ffff2fd93f9 in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', value='true', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac600>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='history', start_mark=None, end_mark=None, sty...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:20717
#10 0x00007ffff2fd9e2e in __pyx_f_4yaml_5_yaml_8CEmitter__serialize_node
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='windows', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc597d50>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', v...(truncated), __pyx_v_parent=<optimized out>, __pyx_v_index=<optimized out>) at yaml/_yaml.c:21259
#11 0x00007ffff2fd6ca7 in __pyx_pf_4yaml_5_yaml_8CEmitter_12serialize
(__pyx_v_self=0x5555570a3aa0, __pyx_v_node=<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='windows', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc597d50>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='geometry', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac0b0>, <ScalarNode(tag='tag:yaml.org,2002:binary', value='AdnQywADAAAAAA/0AAAERAAAF2kAAAhpAAAP9wAABFEAABdmAAAIZgAAAAIAAAAADwAAAA/3AAAE\nUQAAF2YAAAhm\n', start_mark=None, end_mark=None, style='|') at remote 0x7fffcc5ac150>), (<ScalarNode(tag='tag:yaml.org,2002:str', value='tabs', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac1f0>, <SequenceNode(tag='tag:yaml.org,2002:seq', value=[<MappingNode(tag='tag:yaml.org,2002:map', value=[(<ScalarNode(tag='tag:yaml.org,2002:str', value='active', start_mark=None, end_mark=None, style=None) at remote 0x7fffcc5ac560>, <ScalarNode(tag='tag:yaml.org,2002:bool', v...(truncated)) at yaml/_yaml.c:18775
#12 0x00007ffff2fd7285 in __pyx_pw_4yaml_5_yaml_8CEmitter_13serialize (__pyx_v_self=<optimized out>, __pyx_v_node=<optimized out>) at yaml/_yaml.c:18153
#13 0x00005555556f7c17 in method_vectorcall_O (func=<method_descriptor at remote 0x7ffff0d5a990>, args=0x7ffff7f7f988, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/descrobject.c:482
#14 0x00005555556eb56c in _PyObject_VectorcallTstate (tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<method_descriptor at remote 0x7ffff0d5a990>, args=args@entry=0x7ffff7f7f988, nargsf=9223372036854775810, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#15 0x00005555556eb640 in PyObject_Vectorcall (callable=callable@entry=<method_descriptor at remote 0x7ffff0d5a990>, args=args@entry=0x7ffff7f7f988, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:325
#16 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f920, throwflag=0) at Python/bytecodes.c:2645
#17 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#18 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7fffe4bcc710, locals=locals@entry=0x0, args=0x7fffffffb028, argcount=1, kwnames=0x0) at Python/ceval.c:1610
#19 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#20 0x00005555556ee35e in _PyObject_VectorcallTstate (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffe4bcc710>, args=args@entry=0x7fffffffb028, nargsf=nargsf@entry=1, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#21 0x00005555556ee56b in method_vectorcall (method=<optimized out>, args=0x555555c18b78 <_PyRuntime+92024>, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:67
#22 0x00005555556ecfc3 in _PyVectorcall_Call (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=0x5555556ee3e6 <method_vectorcall>, callable=callable@entry=<method at remote 0x7fffd849bd10>, tuple=tuple@entry=(), kwargs=kwargs@entry={})
at Objects/call.c:271
#23 0x00005555556ed2db in _PyObject_Call (tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<method at remote 0x7fffd849bd10>, args=args@entry=(), kwargs=kwargs@entry={}) at Objects/call.c:354
#24 0x00005555556ed313 in PyObject_Call (callable=callable@entry=<method at remote 0x7fffd849bd10>, args=args@entry=(), kwargs=kwargs@entry={}) at Objects/call.c:379
#25 0x00005555557f0b9e in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f4a8, throwflag=0) at Python/bytecodes.c:3193
#26 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#27 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7fffe4dafc50, locals=locals@entry=0x0, args=0x7fffffffb3d0, argcount=1, kwnames=0x0) at Python/ceval.c:1610
#28 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#29 0x00005555556eccc2 in _PyObject_FastCallDictTstate (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffe4dafc50>, args=args@entry=0x7fffffffb3d0, nargsf=nargsf@entry=1, kwargs=kwargs@entry=0x0)
at Objects/call.c:133
#30 0x00005555556eceb3 in _PyObject_Call_Prepend
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffe4dafc50>, obj=obj@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=(), kwargs=kwargs@entry=0x0) at Objects/call.c:508
#31 0x000055555575e912 in slot_tp_call
(self=self@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=(), kwds=kwds@entry=0x0)
at Objects/typeobject.c:8761
#32 0x00005555556eb3b2 in _PyObject_MakeTpCall
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=0x7ffff7f7f498, nargs=<optimized out>, keywords=keywords@entry=0x0) at Objects/call.c:240
#33 0x00005555556eb5f2 in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=0x7ffff7f7f498, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at ./Include/internal/pycore_call.h:90
#34 0x00005555556eb640 in PyObject_Vectorcall
(callable=callable@entry=<Throttle(_delay_ms=60000, _func=<method at remote 0x7fffd849bd10>, _pending_call=None, _last_call_ms=96546444, _timer=<Timer(_name='throttle-timer') at remote 0x7fffe45c9df0>) at remote 0x7fffe45c9d40>, args=args@entry=0x7ffff7f7f498, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:325
#35 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f430, throwflag=0) at Python/bytecodes.c:2645
#36 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#37 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7fffcc571fd0, locals=locals@entry=0x0, args=0x7fffffffb780, argcount=2, kwnames=0x0) at Python/ceval.c:1610
#38 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#39 0x00005555556ee35e in _PyObject_VectorcallTstate (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7fffcc571fd0>, args=args@entry=0x7fffffffb780, nargsf=nargsf@entry=2, kwnames=kwnames@entry=0x0)
at ./Include/internal/pycore_call.h:92
#40 0x00005555556ee4c1 in method_vectorcall (method=<optimized out>, args=0x7fffe44d7628, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:89
#41 0x00005555556ecfc3 in _PyVectorcall_Call (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=0x5555556ee3e6 <method_vectorcall>, callable=callable@entry=<method at remote 0x7fffe45c5550>, tuple=tuple@entry=(True,), kwargs=kwargs@entry=0x0)
at Objects/call.c:271
#42 0x00005555556ed2db in _PyObject_Call (tstate=0x555555c76490 <_PyRuntime+475280>, callable=<method at remote 0x7fffe45c5550>, args=(True,), kwargs=0x0) at Objects/call.c:354
#43 0x00005555556ed313 in PyObject_Call (callable=<optimized out>, args=<optimized out>, kwargs=<optimized out>) at Objects/call.c:379
#44 0x00007ffff682d6c0 in PyQtSlot::call(_object*, _object*) const () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#45 0x00007ffff682db50 in PyQtSlot::invoke(void**, _object*, void*, bool) const () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#46 0x00007ffff682dd10 in PyQtSlot::invoke(void**, _object*, void*) const () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#47 0x00007ffff6833ffe in qt_metacall_worker(_sipSimpleWrapper*, _typeobject*, _sipTypeDef*, QMetaObject::Call, int, void**) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtCore.abi3.so
#48 0x00007ffff33c1b1d in sipQWidget::qt_metacall(QMetaObject::Call, int, void**) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWidgets.abi3.so
#49 0x00007ffff5f9ba1f in () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#50 0x00007fffea0cce82 in QWebEnginePage::loadFinished(bool) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#51 0x00007fffea0cda62 in () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#52 0x00007ffff5f8cf4c in QObject::event(QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#53 0x00007fffe53ad7db in sipQWebEnginePage::event(QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWebEngineCore.abi3.so
#54 0x00007ffff297f292 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Widgets.so.6
#55 0x00007ffff33beb76 in sipQApplication::notify(QObject*, QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWidgets.abi3.so
#56 0x00007ffff5f3d4fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#57 0x00007ffff5f4069d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#58 0x00007ffff61e8323 in () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#59 0x00007ffff6bff981 in g_main_dispatch (context=0x7fffdc000fc0) at ../glib/glib/gmain.c:3460
#60 g_main_context_dispatch (context=0x7fffdc000fc0) at ../glib/glib/gmain.c:4200
#61 0x00007ffff6c5cb39 in g_main_context_iterate.isra.0 (context=context@entry=0x7fffdc000fc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#62 0x00007ffff6bfd032 in g_main_context_iteration (context=0x7fffdc000fc0, may_block=1) at ../glib/glib/gmain.c:4343
#63 0x00007ffff61e7caa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#64 0x00007ffff5f48d7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#65 0x00007ffff5f455ae in QCoreApplication::exec() () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6
#66 0x00007ffff3200d2f in meth_QApplication_exec () at /home/florian/proj/qutebrowser/.venv/lib/python3.12/site-packages/PyQt6/QtWidgets.abi3.so
#67 0x000055555573803d in cfunction_call (func=func@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=(), kwargs=kwargs@entry=0x0) at Objects/methodobject.c:548
#68 0x00005555556eb3b2 in _PyObject_MakeTpCall
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=0x7ffff7f7f390, nargs=<optimized out>, keywords=keywords@entry=0x0) at Objects/call.c:240
#69 0x00005555556eb5f2 in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=0x7ffff7f7f390, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at ./Include/internal/pycore_call.h:90
#70 0x00005555556eb640 in PyObject_Vectorcall (callable=callable@entry=<built-in method exec of Application object at remote 0x7ffff0ee73f0>, args=args@entry=0x7ffff7f7f390, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:325
#71 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f338, throwflag=0) at Python/bytecodes.c:2645
#72 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#73 0x00005555557f2da9 in _PyEval_Vector
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=func@entry=0x7ffff77304d0, locals=locals@entry={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0) at Python/ceval.c:1610
#74 0x00005555557f2e68 in PyEval_EvalCode
(co=co@entry=<code at remote 0x7ffff7c82ce0>, globals=globals@entry={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, locals=locals@entry={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}) at Python/ceval.c:567
#75 0x00005555557d8117 in builtin_exec_impl
(module=module@entry=<module at remote 0x7ffff7c2e510>, source=<code at remote 0x7ffff7c82ce0>, globals={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, locals={'__name__': '__main__', '__doc__': 'Simple launcher for qutebrowser.', '__package__': 'qutebrowser', '__loader__': <SourceFileLoader(name='qutebrowser.__main__', path='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py') at remote 0x7ffff779f490>, '__spec__': <ModuleSpec(name='qutebrowser.__main__', loader=<...>, origin='/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc') at remote 0x7ffff779f4e0>, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7c2e510>, '__file__': '/home/florian/proj/qutebrowser/git/qutebrowser/__main__.py', '__cached__': '/home/florian/proj/qutebrowser/git/qutebrowser/__pycache__/__main__.cpython-312.pyc', 'sys': <module at remote 0x7ffff7c36390>, 'qutebrowser': <module at remote 0x7ffff7790590>}, closure=0x0) at Python/bltinmodule.c:1079
#76 0x00005555557d8232 in builtin_exec (module=<module at remote 0x7ffff7c2e510>, args=<optimized out>, args@entry=0x7ffff7f7f180, nargs=nargs@entry=2, kwnames=kwnames@entry=0x0) at Python/clinic/bltinmodule.c.h:586
#77 0x00005555557377ae in cfunction_vectorcall_FASTCALL_KEYWORDS (func=<built-in method exec of module object at remote 0x7ffff7c2e510>, args=0x7ffff7f7f180, nargsf=<optimized out>, kwnames=0x0) at Objects/methodobject.c:438
#78 0x00005555556eb56c in _PyObject_VectorcallTstate
(tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<built-in method exec of module object at remote 0x7ffff7c2e510>, args=args@entry=0x7ffff7f7f180, nargsf=9223372036854775810, kwnames=kwnames@entry=0x0) at ./Include/internal/pycore_call.h:92
#79 0x00005555556eb640 in PyObject_Vectorcall (callable=callable@entry=<built-in method exec of module object at remote 0x7ffff7c2e510>, args=args@entry=0x7ffff7f7f180, nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:325
#80 0x00005555557ecc70 in _PyEval_EvalFrameDefault (tstate=0x555555c76490 <_PyRuntime+475280>, frame=0x7ffff7f7f0d8, throwflag=0) at Python/bytecodes.c:2645
#81 0x00005555557f2c96 in _PyEval_EvalFrame (tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, frame=<optimized out>, throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:87
#82 0x00005555557f2da9 in _PyEval_Vector (tstate=0x555555c76490 <_PyRuntime+475280>, func=0x7ffff77a6750, locals=locals@entry=0x0, args=0x7ffff7794428, argcount=2, kwnames=0x0) at Python/ceval.c:1610
#83 0x00005555556eb20b in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:419
#84 0x00005555556ecfc3 in _PyVectorcall_Call
(tstate=tstate@entry=0x555555c76490 <_PyRuntime+475280>, func=0x5555556eb1b7 <_PyFunction_Vectorcall>, callable=callable@entry=<function at remote 0x7ffff77a6750>, tuple=tuple@entry=('qutebrowser', True), kwargs=kwargs@entry=0x0) at Objects/call.c:271
#85 0x00005555556ed2db in _PyObject_Call (tstate=0x555555c76490 <_PyRuntime+475280>, callable=callable@entry=<function at remote 0x7ffff77a6750>, args=args@entry=('qutebrowser', True), kwargs=kwargs@entry=0x0) at Objects/call.c:354
#86 0x00005555556ed313 in PyObject_Call (callable=callable@entry=<function at remote 0x7ffff77a6750>, args=args@entry=('qutebrowser', True), kwargs=kwargs@entry=0x0) at Objects/call.c:379
#87 0x0000555555874b71 in pymain_run_module (modname=<optimized out>, set_argv0=set_argv0@entry=1) at Modules/main.c:300
#88 0x0000555555875696 in pymain_run_python (exitcode=exitcode@entry=0x7fffffffc8a4) at Modules/main.c:604
#89 0x000055555587597e in Py_RunMain () at Modules/main.c:689
#90 0x00005555558759f5 in pymain_main (args=args@entry=0x7fffffffc900) at Modules/main.c:719
#91 0x0000555555875abb in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:743
#92 0x0000555555653782 in main (argc=<optimized out>, argv=<optimized out>) at ./Programs/python.c:15 As a note to myself, the Python stacktrace and YAML data:
{'windows': [{'active': True, 'geometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x048\x00\x00\x07\x8c\x00\x00\x08i\x00\x00\x0e\xf9\x00\x00\x04;\x00\x00\x07\x99\x00\x00\x08f\x00\x00\x0e\xf6\x00\x00\x00\x01\x00\x00\x00\x00\x08p\x00\x00\x04;\x00\x00\x07\x99\x00\x00\x08f\x00\x00\x0e\xf6', 'tabs': [{'history': [{'url': 'https://start.duckduckgo.com/', 'title': 'DuckDuckGo — Privacy, simplified.', 'active': True, 'last_visited': '2023-06-09T21:22:33', 'zoom': <float at remote 0x7fffd84ad2d0>, 'scroll-pos': {'x': 0, 'y': 0}, 'pinned': False}], 'active': True}]}]} |
@The-Compiler thanks for bringing this up! Since you already have the environment set up, could we quickly verify what happens if we remove If the error is only in |
Well, turns out with that, finding a simpler reproducer was very easy - all it takes is a
(will answer the rest in a separate comment, just wanted to send this before people dig into the qutebrowser reproducer more) |
With the Hardware watchpoint 1: _PyRuntime.static_objects.singletons.small_ints[5+3]->ob_base->ob_refcnt
Old value = 4294967295
New value = 4294967294
0x00007ffff75cb27f in Py_DECREF (filename=filename@entry=0x7ffff75f5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=3) at ../../../home/florian/proj/cpython/Include/object.h:527
527 ../../../home/florian/proj/cpython/Include/object.h: Bad file descriptor.
#0 0x00007ffff75cb27f in Py_DECREF (filename=filename@entry=0x7ffff75f5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=3) at ../../../home/florian/proj/cpython/Include/object.h:527
#1 0x00007ffff75cc436 in Py_XDECREF (op=op@entry=3) at ../../../home/florian/proj/cpython/Include/object.h:609
#2 0x00007ffff75cc7bb in __Pyx_PyCode_New (a=a@entry=0, k=k@entry=0, l=l@entry=3, s=s@entry=0, f=f@entry=3, code=<optimized out>, c=(), n=(), v=('major', 'minor', 'patch'), fv=(), cell=(), fn='yaml/_yaml.pyx', name='get_version',
fline=9, lnos=b'') at yaml/_yaml.c:384
#3 0x00007ffff75cd26e in __Pyx_InitCachedConstants () at yaml/_yaml.c:23102
#4 0x00007ffff75cfd58 in __pyx_pymod_exec__yaml (__pyx_pyinit_module=<optimized out>) at yaml/_yaml.c:23438
#5 0x0000555555739d39 in PyModule_ExecDef (module=module@entry=<module at remote 0x7ffff76ed670>, def=def@entry=0x7ffff75fe0c0 <__pyx_moduledef>) at Objects/moduleobject.c:440
[...] and Hardware watchpoint 1: _PyRuntime.static_objects.singletons.small_ints[5+3]->ob_base->ob_refcnt
Old value = 4294967294
New value = 4294967295
Py_INCREF (op=3) at ./Include/object.h:642
642 _Py_INC_REFTOTAL();
#0 Py_INCREF (op=3) at ./Include/object.h:642
#1 _Py_NewRef (obj=3) at ./Include/object.h:798
#2 PyDict_SetItem (op=op@entry={}, key='co_argcount', value=value@entry=3) at Objects/dictobject.c:1883
#3 0x000055555572bdaa in PyDict_SetItemString (v=v@entry={}, key=key@entry=0x7ffff75f5d31 "co_argcount", item=item@entry=3) at Objects/dictobject.c:3919
#4 0x00007ffff75cc520 in __Pyx_PyCode_New (a=a@entry=3, k=k@entry=0, l=l@entry=5, s=s@entry=0, f=f@entry=3, code=b'', c=(), n=(), v=('__pyx_type', '__pyx_checksum', '__pyx_state', '__pyx_PickleError', '__pyx_result'), fv=(), cell=(),
fn='stringsource', name='__pyx_unpickle_Mark', fline=1, lnos=b'') at yaml/_yaml.c:347
#5 0x00007ffff75cd357 in __Pyx_InitCachedConstants () at yaml/_yaml.c:23112
#6 0x00007ffff75cfd58 in __pyx_pymod_exec__yaml (__pyx_pyinit_module=<optimized out>) at yaml/_yaml.c:23438
#7 0x0000555555739d39 in PyModule_ExecDef (module=module@entry=<module at remote 0x7ffff76ed670>, def=def@entry=0x7ffff75fe0c0 <__pyx_moduledef>) at Objects/moduleobject.c:440
[...] and finally, what seems to be the culprit for this one: Hardware watchpoint 1: _PyRuntime.static_objects.singletons.small_ints[5+3]->ob_base->ob_refcnt
Old value = 4294967295
New value = 4294967294
0x00007ffff75cb27f in Py_DECREF (filename=filename@entry=0x7ffff75f5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=3) at ../../../home/florian/proj/cpython/Include/object.h:527
527 ../../../home/florian/proj/cpython/Include/object.h: Bad file descriptor.
#0 0x00007ffff75cb27f in Py_DECREF (filename=filename@entry=0x7ffff75f5500 "../../../home/florian/proj/cpython/Include/object.h", lineno=lineno@entry=609, op=op@entry=3) at ../../../home/florian/proj/cpython/Include/object.h:527
#1 0x00007ffff75cc436 in Py_XDECREF (op=op@entry=3) at ../../../home/florian/proj/cpython/Include/object.h:609
#2 0x00007ffff75cc7a1 in __Pyx_PyCode_New (a=a@entry=3, k=k@entry=0, l=l@entry=5, s=s@entry=0, f=f@entry=3, code=<optimized out>, c=(), n=(), v=('__pyx_type', '__pyx_checksum', '__pyx_state', '__pyx_PickleError', '__pyx_result'),
fv=(), cell=(), fn='stringsource', name='__pyx_unpickle_Mark', fline=1, lnos=b'') at yaml/_yaml.c:381
#3 0x00007ffff75cd357 in __Pyx_InitCachedConstants () at yaml/_yaml.c:23112
#4 0x00007ffff75cfd58 in __pyx_pymod_exec__yaml (__pyx_pyinit_module=<optimized out>) at yaml/_yaml.c:23438
#5 0x0000555555739d39 in PyModule_ExecDef (module=module@entry=<module at remote 0x7ffff76ed670>, def=def@entry=0x7ffff75fe0c0 <__pyx_moduledef>) at Objects/moduleobject.c:440
[...]
With: diff --git i/Include/internal/pycore_global_objects_fini_generated.h w/Include/internal/pycore_global_objects_fini_generated.h
index d5819fcd1c..2cc8f90f19 100644
--- i/Include/internal/pycore_global_objects_fini_generated.h
+++ w/Include/internal/pycore_global_objects_fini_generated.h
@@ -12,9 +12,9 @@ extern "C" {
static inline void
_PyStaticObject_CheckRefcnt(PyObject *obj) {
if (Py_REFCNT(obj) < _Py_IMMORTAL_REFCNT) {
- _PyObject_ASSERT_FAILED_MSG(obj,
- "immortal object has less refcnt than expected "
- "_Py_IMMORTAL_REFCNT");
+ // _PyObject_ASSERT_FAILED_MSG(obj,
+ // "immortal object has less refcnt than expected "
+ // "_Py_IMMORTAL_REFCNT");
}
}
#endif everything seems to be working fine, yes (other than the most likely unrelated segfault at exit).
From what I understood from here: Lines 683 to 689 in f668f73
This would be prevented by the API? Or is the problem the comment above, together with what's being mentioned here? Lines 100 to 103 in f668f73
|
None of the above actually! It's slightly more nuanced and we try to explain it in detail in the backwards compatibility section of PEP683: https://peps.python.org/pep-0683/#backward-compatibility and in the "Accidental Immortality" and "Accidental De-Immortalizing" sections. To summarize, what we are seeing here is an example of a C-Extension that "accidentally de-immortalizes" an object that it thought to be immortal simply because the Py_DECREF code that it's using is not immortal aware yet (or it mutates ob_refcnt directly). This does not mean that we will run into correctness issues (unless we reach the extreme case of 2^29 imbalanced decrefs) - hence my ask of removing the static check code. The problem here is that I don't think the runtime can guarantee that _PyStaticObject_CheckRefcnt can guarantee this check purely from the fact that we can have accidental de-immortalization cases. Thus, I believe the right solution is to remove the refcount checks for static objects. I'll sync with @ericsnowcurrently and try to send a patch shortly! |
FWIW, I recall not particularly caring for that check in the first place but not caring enough to worry about it. IIRC, the check is mostly useful as a sanity check during core development. So if it's a problem then we should at least limit exposure (e.g. only in Py_DEBUG builds). If it doesn't really add value then we should remove it. |
@The-Compiler, good sleuthing, BTW. |
It is already only active with |
I thought so, but hadn't had a chance to check yet. |
Just sent in a patch, this should fix the issue going forward |
The check still detects something if we are all using new codes. I think we can make it a soft error/warning rather than completely removing it. |
@sunmy2019 yup, that should work too. I could go either way, happy to implement it as a warning instead |
…ythonGH-105638) (cherry picked from commit 6199fe3) Co-authored-by: Eddie Elizondo <eduardo.elizondorueda@gmail.com>
…GH-105638) (#105769) gh-105587: Remove assertion from `_PyStaticObject_CheckRefcnt` (GH-105638) (cherry picked from commit 6199fe3) Co-authored-by: Eddie Elizondo <eduardo.elizondorueda@gmail.com>
commit 74c2422 Author: Guido van Rossum <guido@python.org> Date: Wed Jun 14 08:19:24 2023 -0700 Update DSL docs for cases generator (python#105753) * Clarify things around goto error/ERROR_IF a bit * Remove docs for super-instructions * Add pseudo; fix heading markup commit 1d857da Author: Mark Shannon <mark@hotpy.org> Date: Wed Jun 14 16:15:08 2023 +0100 pythonGH-77273: Better bytecodes for f-strings (pythonGH-6132) commit 307bcea Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 17:00:40 2023 +0200 xmlrpc.client uses datetime.datetime.isoformat() (python#105741) Reimplement _iso8601_format() using the datetime isoformat() method. Ignore the timezone. Co-Authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com> commit 7b1f0f2 Author: Alex Waygood <Alex.Waygood@Gmail.com> Date: Wed Jun 14 15:58:41 2023 +0100 pythongh-105570: Deprecate unusual ways of creating empty TypedDicts (python#105780) Deprecate two methods of creating typing.TypedDict classes with 0 fields using the functional syntax: `TD = TypedDict("TD")` and `TD = TypedDict("TD", None)`. Both will be disallowed in Python 3.15. To create a TypedDict class with 0 fields, either use `class TD(TypedDict): pass` or `TD = TypedDict("TD", {})`. commit d32e8d6 Author: TATHAGATA ROY <royzen9495@gmail.com> Date: Wed Jun 14 19:51:30 2023 +0530 pythongh-105196: Fix indentations of section headings in C API docs (python#105672) commit 4a113e2 Author: Alex Waygood <Alex.Waygood@Gmail.com> Date: Wed Jun 14 15:19:27 2023 +0100 Typing docs: move the deprecated stuff below the non-deprecated stuff (python#105781) commit 7199584 Author: Mark Shannon <mark@hotpy.org> Date: Wed Jun 14 13:46:37 2023 +0100 pythonGH-100987: Allow objects other than code objects as the "executable" of an internal frame. (pythonGH-105727) * Add table describing possible executable classes for out-of-process debuggers. * Remove shim code object creation code as it is no longer needed. * Make lltrace a bit more robust w.r.t. non-standard frames. commit ad56340 Author: Alex Waygood <Alex.Waygood@Gmail.com> Date: Wed Jun 14 13:38:49 2023 +0100 pythongh-105566: Deprecate unusual ways of creating `typing.NamedTuple` classes (python#105609) Deprecate creating a typing.NamedTuple class using keyword arguments to denote the fields (`NT = NamedTuple("NT", x=int, y=str)`). This will be disallowed in Python 3.15. Use the class-based syntax or the functional syntax instead. Two methods of creating `NamedTuple` classes with 0 fields using the functional syntax are also deprecated, and will be disallowed in Python 3.15: `NT = NamedTuple("NT")` and `NT = NamedTuple("NT", None)`. To create a `NamedTuple` class with 0 fields, either use `class NT(NamedTuple): pass` or `NT = NamedTuple("NT", [])`. commit fc8037d Author: Jelle Zijlstra <jelle.zijlstra@gmail.com> Date: Wed Jun 14 05:35:06 2023 -0700 pythongh-104873: Add typing.get_protocol_members and typing.is_protocol (python#104878) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> commit ba516e7 Author: Kirill Podoprigora <kirill.bast9@mail.ru> Date: Wed Jun 14 15:17:12 2023 +0300 pythongh-102541: Hide traceback in help prompt (pythongh-102614) commit 0316063 Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 12:30:22 2023 +0200 gdb libpython.py: Remove compatibility code (python#105739) Remove compatibility code for Python 2 and early Python 3 versions. * Remove os_fsencode() reimplementation: use os.fsencode() directly. os.fsencode() was added to Python 3.2. * Remove references to Python 2 and "Python 3": just say "Python". * Remove outdated u'' string format: use '' instead. commit e5d45b7 Author: Nikita Sobolev <mail@sobolevn.me> Date: Wed Jun 14 13:29:16 2023 +0300 pythongh-105745: Fix open method of webbrowser.Konqueror (python#105746) commit 67f69db Author: Nikita Sobolev <mail@sobolevn.me> Date: Wed Jun 14 13:26:20 2023 +0300 pythongh-105687: Remove deprecated objects from `re` module (python#105688) commit fb655e0 Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 12:12:25 2023 +0200 _ctypes callbacks.c uses _Py_COMP_DIAG_IGNORE_DEPR_DECLS (python#105732) Replace #pragma with _Py_COMP_DIAG_PUSH, _Py_COMP_DIAG_IGNORE_DEPR_DECLS and _Py_COMP_DIAG_POP to ease Python maintenance. Also add a comment explaining why callbacks.c ignores a deprecation warning. commit 5cdd5ba Author: Jelle Zijlstra <jelle.zijlstra@gmail.com> Date: Wed Jun 14 00:26:48 2023 -0700 tarfile: Fix positional-only syntax in docs (pythonGH-105770) The syntax used in the current docs (a / before any args) is invalid. I think the right approach is for the arguments to arbitrary filter functions to be treated as positional-only, meaning that users can supply filter functions with any names for the argument. tarfile.py only calls the filter function with positional arguments. commit 6199fe3 Author: Eddie Elizondo <eduardo.elizondorueda@gmail.com> Date: Wed Jun 14 00:33:32 2023 -0400 pythongh-105587: Remove assertion from `_PyStaticObject_CheckRefcnt` (python#105638) commit dab5a3e Author: Barney Gale <barney.gale@gmail.com> Date: Wed Jun 14 05:06:58 2023 +0100 pythonGH-89812: Clean up pathlib tests. (python#104829) Clean up pathlib tests. Merge `PurePathTest` into `_BasePurePathTest`, and `PathTest` into `_BasePathTest`. commit b95de96 Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 05:34:11 2023 +0200 pythongh-105751: test_ctypes avoids "from ctypes import *" (python#105768) Using "import *" prevents linters like pyflakes to detect undefined names (usually missing imports). Replace c_voidp with c_void_p. commit 381a1dc Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 04:47:01 2023 +0200 pythongh-105751: test_ctypes.test_numbers uses top level imports (python#105762) Moroever, c_ulonglong and c_bool are always available. commit ac7b551 Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 04:46:47 2023 +0200 pythongh-105751: test_ctypes gets Windows attrs from ctypes (python#105758) test_ctypes now gets attributes specific to Windows from the ctypes module, rather than relying on "from ctypes import *". Attributes: * ctypes.FormatError * ctypes.WINFUNCTYPE * ctypes.WinError * ctypes.WinDLL * ctypes.windll * ctypes.oledll * ctypes.get_last_error() * ctypes.set_last_error() commit b87d288 Author: Eric Snow <ericsnowcurrently@gmail.com> Date: Tue Jun 13 18:58:23 2023 -0600 pythongh-105699: Use a Thread-Local Variable for PKGCONTEXT (pythongh-105740) This fixes a race during import. The existing _PyRuntimeState.imports.pkgcontext is shared between interpreters, and occasionally this would cause a crash when multiple interpreters were importing extensions modules at the same time. To solve this we add a thread-local variable for the value. We also leave the existing state (and infrequent race) in place for platforms that do not support thread-local variables. commit fcf0647 Author: Eric Snow <ericsnowcurrently@gmail.com> Date: Tue Jun 13 18:39:18 2023 -0600 pythongh-104812: Skip Pending Calls Tests if No Threading (pythongh-105761) This fixes the WASM buildbots. commit b542972 Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 02:33:00 2023 +0200 pythongh-105387: Limited C API implements Py_INCREF() as func (python#105388) In the limited C API version 3.12, Py_INCREF() and Py_DECREF() functions are now implemented as opaque function calls to hide implementation details. commit f3266c0 Author: zentarim <33746047+zentarim@users.noreply.github.com> Date: Wed Jun 14 02:45:47 2023 +0300 pythonGH-104554: Add RTSPS support to `urllib/parse.py` (python#104605) * pythonGH-104554: Add RTSPS support to `urllib/parse.py` RTSPS is the permanent scheme defined in https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml alongside RTSP and RTSPU schemes. *📜 🤖 Added by blurb_it. --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> commit 4cefe3c Author: Steve Dower <steve.dower@python.org> Date: Wed Jun 14 00:00:16 2023 +0100 pythongh-105436: Ignore unrelated errors when checking empty env (pythonGH-105742) commit 457a459 Author: Victor Stinner <vstinner@python.org> Date: Wed Jun 14 00:32:12 2023 +0200 pythongh-98040: Fix importbench: use types.ModuleType() (python#105743) Replace removed imp.new_module(name) with types.ModuleType(name). commit 757b402 Author: Eric Snow <ericsnowcurrently@gmail.com> Date: Tue Jun 13 15:02:19 2023 -0600 pythongh-104812: Run Pending Calls in any Thread (pythongh-104813) For a while now, pending calls only run in the main thread (in the main interpreter). This PR changes things to allow any thread run a pending call, unless the pending call was explicitly added for the main thread to run. commit 4e80082 Author: Łukasz Langa <lukasz@langa.pl> Date: Tue Jun 13 20:44:27 2023 +0000 pythongh-102613: Bump recursion limit to fix running test_pathlib under Coverage (python#105744) commit be2779c Author: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Date: Tue Jun 13 21:42:03 2023 +0100 pythongh-105481: add flags to each instr in the opcode metadata table, to replace opcode.hasarg/hasname/hasconst (python#105482) commit 2211454 Author: Victor Stinner <vstinner@python.org> Date: Tue Jun 13 20:16:26 2023 +0200 pythongh-105733: Deprecate ctypes SetPointerType() and ARRAY() (python#105734) commit b97e14a Author: Eric Snow <ericsnowcurrently@gmail.com> Date: Tue Jun 13 11:08:32 2023 -0600 pythongh-105603: Change the PyInterpreterConfig.own gil Field (pythongh-105620) We are changing it to be more flexible that a strict bool can be for possible future expanded used cases. commit abfbab6 Author: Lysandros Nikolaou <lisandrosnik@gmail.com> Date: Tue Jun 13 17:18:11 2023 +0200 pythongh-105718: Fix buffer allocation in tokenizer with readline (python#105728) commit d0f1afd Author: Victor Stinner <vstinner@python.org> Date: Tue Jun 13 13:49:36 2023 +0200 pythongh-105373: Remove PyArg_Parse() deprecation (python#105394) There is no plan to deprecate PyArg_Parse(). The deprecation was added as a comment in the C API documentation in 2007 by commit 85eb8c1. commit ed8217b Author: Lysandros Nikolaou <lisandrosnik@gmail.com> Date: Tue Jun 13 12:39:29 2023 +0200 pythongh-105713: Document that tokenize raises when mixing tabs/spaces (python#105723) * pythongh-105713: Document that tokenize raises when mixing tabs/spaces * Update Doc/whatsnew/3.12.rst Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> commit c3d2d64 Author: Mark Shannon <mark@hotpy.org> Date: Tue Jun 13 10:34:27 2023 +0100 Fix magic number (pythonGH-105722) commit 09ffa69 Author: Mark Shannon <mark@hotpy.org> Date: Tue Jun 13 09:51:05 2023 +0100 pythonGH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE (pythonGH-105680) commit 217589d Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Tue Jun 13 10:38:01 2023 +0200 pythongh-105375: Improve error handling in _Unpickler_SetInputStream() (python#105667) Prevent exceptions from possibly being overwritten in case of multiple failures. commit 840d02f Author: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Tue Jun 13 11:36:40 2023 +0530 pythonGH-105684: Require `asyncio.Task` implementations to support `set_name` method (python#105685) commit 829ac13 Author: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Tue Jun 13 11:11:34 2023 +0530 pythonGH-104787: use bitfields in `_asyncio` (python#104788) commit 8da9d1b Author: Guido van Rossum <guido@python.org> Date: Mon Jun 12 14:55:15 2023 -0700 pythongh-105540: Fix code generator tests (python#105707) This involves expanding PEEK, POKE and JUMPBY macros, and removing super and register tests (those features no longer exist). commit ca3cc4b Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Mon Jun 12 23:35:07 2023 +0200 pythongh-105375: Explicitly initialise all {Pickler,Unpickler}Object fields (python#105686) All fields must be explicitly initialised to prevent manipulation of uninitialised fields in dealloc. Align initialisation order with the layout of the object structs. commit f0fb782 Author: Jay <74105438+weijay0804@users.noreply.github.com> Date: Tue Jun 13 04:29:02 2023 +0800 pythongh-105331: Change `asyncio.sleep` to raise ``ValueError` for nan (python#105641) Co-authored-by: Guido van Rossum <gvanrossum@gmail.com> Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> commit 9544948 Author: Guido van Rossum <guido@python.org> Date: Mon Jun 12 11:19:04 2023 -0700 Remove support for legacy bytecode instructions (python#105705) (A legacy instruction is of the form `instr(FOOBAR)`, i.e. missing the `(... -- ...)` stack/cache effect annotation.) commit b9e7dc7 Author: Guido van Rossum <guido@python.org> Date: Mon Jun 12 10:47:08 2023 -0700 pythongh-105229: Remove syntactic support for super-instructions (python#105703) It will not be used again. commit 4f7d3b6 Author: Dora203 <66343334+sku2000@users.noreply.github.com> Date: Tue Jun 13 00:14:55 2023 +0800 pythongh-105436: The environment block should end with two null wchar_t values (pythonGH-105495) commit 2b90796 Author: Petr Viktorin <encukou@gmail.com> Date: Mon Jun 12 17:45:49 2023 +0200 pythongh-103968: PyType_FromMetaclass: Allow metaclasses with tp_new=NULL (pythonGH-105386) commit 58f0bda Author: Steve Dower <steve.dower@python.org> Date: Mon Jun 12 16:09:14 2023 +0100 ARM64 clamping bug also exists in MSVC 14.35 (pythonGH-105679) commit a8d69fe Author: Nikita Sobolev <mail@sobolevn.me> Date: Mon Jun 12 11:47:56 2023 +0300 pythongh-105673: Fix uninitialized warning in sysmodule.c (python#105674) In sys_add_xoption(), 'value' may be uninitialized for some error paths. commit 58f5227 Author: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Date: Sun Jun 11 22:31:59 2023 +0100 pythongh-105481: add pseudo-instructions to the bytecodes DSL (python#105506) commit 20a56d8 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 22:18:46 2023 +0200 pythongh-105375: Harden pyexpat initialisation (python#105606) Add proper error handling to add_errors_module() to prevent exceptions from possibly being overwritten. commit 41cddc2 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 22:02:49 2023 +0200 pythongh-105375: Improve error handling in the sys extension module (python#105611) In _PySys_AddXOptionWithError() and sys_add_xoption(), bail on first error to prevent exceptions from possibly being overwritten. commit e8998e4 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 21:46:19 2023 +0200 pythongh-105375: Improve error handling in _ctypes (python#105593) Prevent repeated PyLong_FromVoidPtr() from possibly overwriting the current exception. commit 555be81 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 21:29:19 2023 +0200 pythongh-105375: Improve error handling in PyUnicode_BuildEncodingMap() (python#105491) Bail on first error to prevent exceptions from possibly being overwritten. commit 567d6ae Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 21:23:28 2023 +0200 pythongh-105375: Improve PyErr_WarnExplicit() error handling (python#105610) Bail on first error to prevent exceptions from possibly being overwritten. commit 3f7c081 Author: Samet YASLAN <sametyaslan@gmail.com> Date: Sun Jun 11 20:51:21 2023 +0200 bpo-44185: Added close() to mock_open __exit__ (python#26902) commit 18d16e9 Author: Tomas R <tomas.roun8@gmail.com> Date: Sun Jun 11 17:50:34 2023 +0200 pythongh-102676: Add more convenience properties to `dis.Instruction` (python#103969) Adds start_offset, cache_offset, end_offset, baseopcode, baseopname, jump_target and oparg to dis.Instruction. Also slightly improves the disassembly output by allowing opnames to overflow into the space reserved for opargs. commit 845e593 Author: litlighilit <97860435+litlighilit@users.noreply.github.com> Date: Sun Jun 11 22:06:42 2023 +0800 Fix typo in configparser module docstring (python#105652) "zc.buildbot" -> "zc.buildout" commit d4fa529 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 12:20:43 2023 +0200 pythongh-105375: Improve error handling in the builtins extension module (python#105585) commit c932f72 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 12:06:06 2023 +0200 pythongh-105375: Improve _decimal error handling (python#105605) Fix a bug where an exception could end up being overwritten. commit 16d4968 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 12:03:09 2023 +0200 pythongh-105375: Harden _datetime initialisation (python#105604) Improve error handling so init bails on the first exception. commit 35cff54 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 11:58:08 2023 +0200 pythongh-105375: Improve array.array exception handling (python#105594) Fix a bug where 'tp_richcompare' could end up overwriting an exception. commit 01f4230 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Sun Jun 11 11:56:32 2023 +0200 pythongh-105375: Harden _ssl initialisation (python#105599) Add proper error handling to prevent reference leaks and overwritten exceptions. commit cc87948 Author: Hugo van Kemenade <hugovk@users.noreply.github.com> Date: Sun Jun 11 12:17:35 2023 +0300 pythongh-80480: Emit DeprecationWarning for array's 'u' type code (python#95760) commit 3a314f7 Author: Gregory P. Smith <greg@krypto.org> Date: Sat Jun 10 12:09:20 2023 -0700 pythongh-99108: Mention HACL\* in the hashlib docs. (python#105634) commit 0d1d6ab Author: Gregory P. Smith <greg@krypto.org> Date: Sat Jun 10 11:49:06 2023 -0700 Cleanup and clarify our hashlib docs. (python#105624) Clarify and improve our hashlib docs. Now with 50% less mess! commit d636d7d Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 23:53:33 2023 +0200 pythongh-105375: Harden error handling in `_testcapi/heaptype.c` (python#105608) Bail on first error in heapctypesubclasswithfinalizer_finalize() commit 33c92c4 Author: Nikita Sobolev <mail@sobolevn.me> Date: Sat Jun 10 00:48:54 2023 +0300 pythongh-105375: Improve error handling in `zoneinfo` module (python#105586) Fix bugs where exceptions could end up being overwritten because of deferred error handling. Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> commit 91441bf Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 23:14:02 2023 +0200 Docs: fix formatting in 2023-06-09-12-59-18 NEWS item (python#105607) commit b047fa5 Author: Pablo Galindo Salgado <Pablogsal@gmail.com> Date: Fri Jun 9 21:39:01 2023 +0100 pythongh-105549: Tokenize separately NUMBER and NAME tokens and allow 0-prefixed literals (python#105555) commit 00b599a Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 22:35:03 2023 +0200 pythongh-105375: Improve error handling in _elementtree (python#105591) Fix bugs where exceptions could end up being overwritten. commit f668f73 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 22:07:47 2023 +0200 pythongh-105375: Improve posix error handling (python#105592) Fix a bug where an IndexError could end up being overwritten. commit eede1d2 Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 21:57:25 2023 +0200 pythongh-105375: Improve errnomodule error handling (python#105590) Bail immediately if an exception is set, to prevent exceptions from being overwritten. commit 89aac6f Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 19:09:53 2023 +0200 pythongh-105375: Improve _pickle error handling (python#105475) Error handling was deferred in some cases, which could potentially lead to exceptions being overwritten. commit 6c832dd Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 18:55:53 2023 +0200 pythongh-105375: Improve error handling in compiler_enter_scope() (python#105494) commit d7f46bc Author: Pablo Galindo Salgado <Pablogsal@gmail.com> Date: Fri Jun 9 17:01:26 2023 +0100 pythongh-105564: Don't include artificial newlines in the line attribute of tokens (python#105565) commit 1dd267a Author: Pablo Galindo Salgado <Pablogsal@gmail.com> Date: Fri Jun 9 16:59:37 2023 +0100 Clarify the supported cases in the tokenize module (python#105569) commit 59f009e Author: Ethan Furman <ethan@stoneleaf.us> Date: Fri Jun 9 08:56:05 2023 -0700 pythongh-105497: [Enum] Fix Flag inversion when alias/mask members exist. (pythonGH-105542) When inverting a Flag member (or boundary STRICT), only consider other canonical flags; when inverting an IntFlag member (or boundary KEEP), also consider aliases. commit 8e75592 Author: Alex Waygood <Alex.Waygood@Gmail.com> Date: Fri Jun 9 16:08:57 2023 +0100 Miscellaneous improvements to the typing docs (python#105529) Mostly, these are changes so that we use shorter sentences and shorter paragraphs. In particular, I've tried to make the first sentence introducing each object in the typing API short and declarative. commit b8fa7bd Author: Erlend E. Aasland <erlend.aasland@protonmail.com> Date: Fri Jun 9 15:36:59 2023 +0200 pythongh-105557: Remove duplicate sqlite3 test method (python#105558) test_func_return_too_large_int() was defined twice. Keep only the redefined method, as that also checks the tracebacks. commit 9bf8d82 Author: Thomas Grainger <tagrain@gmail.com> Date: Fri Jun 9 14:29:09 2023 +0100 pythongh-94924: support `inspect.iscoroutinefunction` in `create_autospec(async_def)` (python#94962) * support inspect.iscoroutinefunction in create_autospec(async_def) * test create_autospec with inspect.iscoroutine and inspect.iscoroutinefunction * test when create_autospec functions check their signature commit 0f885ff Author: Victor Stinner <vstinner@python.org> Date: Fri Jun 9 14:50:31 2023 +0200 pythongh-105407: Remove unused imports (python#105554)
Just tested again, and indeed this seems a little less violent now |
Crash report
When I run my project with Python 3.12, sometimes on exit I get the error below.
Given the circumstances, it seems almost impossible to construct a minimal example with this. I'd appreciate more information on how to best track the source of this down...See comments below for a simpler reproducer.If you want to try reproducing as is, getting a
--with-pydebug
Python 3.12.0b2 and then installingrequirements.txt
andmisc/requirements/requirements-pyqt-6.txt
followed by apython3 -m qutebrowser --temp-basedir --debug ":later 2000 quit"
should do the trick.Note that sometimes it segfaults on exit instead, which seems to be a different issue: https://www.riverbankcomputing.com/pipermail/pyqt/2023-June/045331.html
Error messages
This is already with
-X tracemalloc
, I also triedPYTHONTRACEMALLOC=25
instead. It seems I can't get more information about what's happening there. Happy to go dig into this more e.g. via gdb if someone can tell me what to look for.Your environment
--with-pydebug
Linked PRs
_PyStaticObject_CheckRefcnt
#105638_PyStaticObject_CheckRefcnt
(GH-105638) #105769The text was updated successfully, but these errors were encountered: