GeezerVison is showing github.com — Remove deprecated and undocumented function `ctypes.SetPointerType` · Issue #133866 · python/cpython
Remove deprecated and undocumented function ctypes.SetPointerType #133866DescriptionFeature or enhancement
This was deprecated in #105733 alongside with ctypes.ARRAY(), but the latter has been eventually soft deprecated instead.
Linked PRs
Activitykumaraditya303 commented on May 11, 2025 +1 to remove SetPointerType as it is not thread safe too and can crash as the uses of info->proto use borrowed reference. picnixz commented on May 11, 2025 Oh, do you mean that no one use should be using it? in this case, I'll remove the use set_type instead. kumaraditya303 commented on May 11, 2025 Yes, you should remove the underlying C implementation as well. picnixz commented on May 11, 2025
Yes, you should remove the underlying C implementation as well.
I'm not entirely sure I can do it. We only communicated that the Python interface is deprecated, not the C one (even if this should not be used). cc @vstinner @encukou.
(I'm however in favor of doing it, just that I don't know if we can do it without an explicit notice) sergey-miryanov commented on May 11, 2025 set_type set proto for pointer type, that used in lot of places. Also, it will break external users like pyglet who implements IUnknown interface with _type_.
vstinner commented on May 11, 2025 I don't think that the ctypes C API is considered as part of the public C API. I'm not sure if it's technically usable outside CPython. encukou commented on May 12, 2025 Yes, we'll need to deprecate set_type, and its C implementation, separately; in 3.15.
Now that __pointer_type__ is in, it should be possible to replace set_type by the new API, in all use cases we're aware of. But let's give users time to report other use cases. added a commit that references this issue on May 29, 2025gh-133866: remove deprecated and undocumented function `ctypes.SetPoi… ngoldbaum commented on Mar 6, 2026 FWIW, I think the CFFI TSan CI hit a race caused by something related to this issue:
https://github.com/python-cffi/cffi/actions/runs/22596398074/job/65467405565?pr=232#step:5:365
Details
WARNING: ThreadSanitizer: data race (pid=432)
Read of size 8 at 0x7f7ff8914f38 by thread T1137:
#0 ctype_get_pointer_type /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_ctypes/_ctypes.c:592:15 (_ctypes.cpython-314t-x86_64-linux-gnu.so+0xb858) (BuildId: 0dc90d8ab245295ae10f5fc556e9cf4e597e59a0)
#1 getset_get /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/descrobject.c:194:16 (libpython3.14t.so.1.0+0x144578) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#2 _Py_type_getattro_impl /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:6058:19 (libpython3.14t.so.1.0+0x23e11d) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#3 _Py_type_getattro /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:6119:12 (libpython3.14t.so.1.0+0x23e420) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#4 PyObject_GetAttr /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/object.c:1299:18 (libpython3.14t.so.1.0+0x1e5b97) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#5 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:8043:30 (libpython3.14t.so.1.0+0x350994) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#6 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#7 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#8 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#9 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x131076) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#10 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:95:18 (libpython3.14t.so.1.0+0x131076)
#11 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#12 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#13 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#14 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2657:32 (libpython3.14t.so.1.0+0x33fc93) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#15 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#16 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#17 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#18 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x130fd1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#19 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:73:20 (libpython3.14t.so.1.0+0x130fd1)
#20 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#21 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#22 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#23 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2657:32 (libpython3.14t.so.1.0+0x33fc93) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#24 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#25 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#26 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#27 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x130fd1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#28 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:73:20 (libpython3.14t.so.1.0+0x130fd1)
#29 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x3908c9) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#30 context_run /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/context.c:722:29 (libpython3.14t.so.1.0+0x3908c9)
#31 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3747:35 (libpython3.14t.so.1.0+0x344028) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#32 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#33 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#34 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#35 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x130fd1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#36 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:73:20 (libpython3.14t.so.1.0+0x130fd1)
#37 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#38 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#39 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#40 thread_run /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:359:21 (libpython3.14t.so.1.0+0x501e42) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#41 pythread_wrapper /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/thread_pthread.h:242:5 (libpython3.14t.so.1.0+0x440877) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
Previous write of size 8 at 0x7f7ff8914f38 by thread T1138:
#0 PyCPointerType_SetProto /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_ctypes/_ctypes.c:1258:9 (_ctypes.cpython-314t-x86_64-linux-gnu.so+0x10057) (BuildId: 0dc90d8ab245295ae10f5fc556e9cf4e597e59a0)
#1 PyCPointerType_init /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_ctypes/_ctypes.c:1312:13 (_ctypes.cpython-314t-x86_64-linux-gnu.so+0xf4c2) (BuildId: 0dc90d8ab245295ae10f5fc556e9cf4e597e59a0)
#2 type_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2321:19 (libpython3.14t.so.1.0+0x23fda9) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#3 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#4 type_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:4759:12 (libpython3.14t.so.1.0+0x2432d7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#5 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2153:35 (libpython3.14t.so.1.0+0x33ddec) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#6 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#7 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#8 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#9 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x131076) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#10 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:95:18 (libpython3.14t.so.1.0+0x131076)
#11 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#12 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#13 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#14 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2657:32 (libpython3.14t.so.1.0+0x33fc93) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#15 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#16 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#17 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#18 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x130fd1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#19 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:73:20 (libpython3.14t.so.1.0+0x130fd1)
#20 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#21 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#22 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#23 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2657:32 (libpython3.14t.so.1.0+0x33fc93) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#24 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#25 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#26 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#27 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x130fd1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#28 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:73:20 (libpython3.14t.so.1.0+0x130fd1)
#29 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x3908c9) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#30 context_run /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/context.c:722:29 (libpython3.14t.so.1.0+0x3908c9)
#31 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3747:35 (libpython3.14t.so.1.0+0x344028) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#32 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#33 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#34 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#35 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x130fd1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#36 method_vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/classobject.c:73:20 (libpython3.14t.so.1.0+0x130fd1)
#37 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#38 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#39 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#40 thread_run /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:359:21 (libpython3.14t.so.1.0+0x501e42) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#41 pythread_wrapper /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/thread_pthread.h:242:5 (libpython3.14t.so.1.0+0x440877) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
Thread T1137 'Thread-1137 (cl' (tid=1652, running) created by main thread at:
#0 pthread_create <null> (python3.14+0x64bde) (BuildId: de7a72a55f9634d4b8bebf4d6ad6ace6e892d873)
#1 do_start_joinable_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/thread_pthread.h:289:14 (libpython3.14t.so.1.0+0x43f6fa) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#2 PyThread_start_joinable_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/thread_pthread.h:331:9 (libpython3.14t.so.1.0+0x43f51a) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#3 ThreadHandle_start /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:445:9 (libpython3.14t.so.1.0+0x5019d6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#4 do_start_new_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:1868:9 (libpython3.14t.so.1.0+0x5019d6)
#5 thread_PyThread_start_joinable_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:1991:14 (libpython3.14t.so.1.0+0x5007d1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#6 cfunction_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/methodobject.c:564:18 (libpython3.14t.so.1.0+0x1db2f9) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#7 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#8 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#9 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#10 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3230:35 (libpython3.14t.so.1.0+0x3421f7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#11 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#12 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#13 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#14 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#15 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#16 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#17 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#18 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#19 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#20 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#21 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3230:35 (libpython3.14t.so.1.0+0x3421f7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#22 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#23 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#24 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#25 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#26 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#27 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#28 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#29 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:361:18 (libpython3.14t.so.1.0+0x12c2e4) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#30 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#31 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2657:32 (libpython3.14t.so.1.0+0x33fc93) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#32 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#33 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#34 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#35 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#36 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#37 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#38 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#39 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#40 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#41 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#42 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3230:35 (libpython3.14t.so.1.0+0x3421f7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#43 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#44 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#45 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#46 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#47 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#48 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#49 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#50 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#51 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#52 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#53 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2962:35 (libpython3.14t.so.1.0+0x341035) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#54 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#55 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#56 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#57 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#58 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#59 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#60 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#61 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#62 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#63 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#64 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2962:35 (libpython3.14t.so.1.0+0x341035) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#65 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x3368bf) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#66 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x3368bf)
#67 PyEval_EvalCode /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:975:21 (libpython3.14t.so.1.0+0x3368bf)
#68 builtin_exec_impl /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/bltinmodule.c:1180:17 (libpython3.14t.so.1.0+0x32fc23) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#69 builtin_exec /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/clinic/bltinmodule.c.h:571:20 (libpython3.14t.so.1.0+0x32fc23)
#70 cfunction_vectorcall_FASTCALL_KEYWORDS /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/methodobject.c:465:24 (libpython3.14t.so.1.0+0x1da645) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#71 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x12bffc) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#72 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12bffc)
#73 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:1622:35 (libpython3.14t.so.1.0+0x33be8f) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#74 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#75 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#76 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#77 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#78 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#79 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#80 pymain_run_module /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:353:14 (libpython3.14t.so.1.0+0x45ea1e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#81 pymain_run_python /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:688:21 (libpython3.14t.so.1.0+0x45e0b0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#82 Py_RunMain /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:775:5 (libpython3.14t.so.1.0+0x45e0b0)
#83 pymain_main /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:805:12 (libpython3.14t.so.1.0+0x45e838) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#84 Py_BytesMain /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:829:12 (libpython3.14t.so.1.0+0x45e8bc) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#85 main /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Programs/python.c:15:12 (python3.14+0xe8c9b) (BuildId: de7a72a55f9634d4b8bebf4d6ad6ace6e892d873)
Thread T1138 'Thread-1138 (cl' (tid=1653, running) created by main thread at:
#0 pthread_create <null> (python3.14+0x64bde) (BuildId: de7a72a55f9634d4b8bebf4d6ad6ace6e892d873)
#1 do_start_joinable_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/thread_pthread.h:289:14 (libpython3.14t.so.1.0+0x43f6fa) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#2 PyThread_start_joinable_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/thread_pthread.h:331:9 (libpython3.14t.so.1.0+0x43f51a) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#3 ThreadHandle_start /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:445:9 (libpython3.14t.so.1.0+0x5019d6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#4 do_start_new_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:1868:9 (libpython3.14t.so.1.0+0x5019d6)
#5 thread_PyThread_start_joinable_thread /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_threadmodule.c:1991:14 (libpython3.14t.so.1.0+0x5007d1) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#6 cfunction_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/methodobject.c:564:18 (libpython3.14t.so.1.0+0x1db2f9) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#7 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#8 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#9 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#10 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3230:35 (libpython3.14t.so.1.0+0x3421f7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#11 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#12 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#13 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#14 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#15 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#16 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#17 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#18 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#19 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#20 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#21 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3230:35 (libpython3.14t.so.1.0+0x3421f7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#22 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#23 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#24 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#25 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#26 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#27 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#28 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#29 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:361:18 (libpython3.14t.so.1.0+0x12c2e4) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#30 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#31 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2657:32 (libpython3.14t.so.1.0+0x33fc93) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#32 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#33 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#34 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#35 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#36 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#37 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#38 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#39 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#40 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#41 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#42 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:3230:35 (libpython3.14t.so.1.0+0x3421f7) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#43 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#44 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#45 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#46 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#47 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#48 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#49 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#50 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#51 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#52 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#53 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2962:35 (libpython3.14t.so.1.0+0x341035) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#54 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#55 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#56 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#57 _PyObject_VectorcallDictTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:146:15 (libpython3.14t.so.1.0+0x12b1e0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#58 _PyObject_Call_Prepend /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:504:24 (libpython3.14t.so.1.0+0x12ccd6) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#59 call_method /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:2937:19 (libpython3.14t.so.1.0+0x24d608) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#60 slot_tp_call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/typeobject.c:10254:12 (libpython3.14t.so.1.0+0x24d441) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#61 _PyObject_MakeTpCall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:242:18 (libpython3.14t.so.1.0+0x12b49e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#62 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:167:16 (libpython3.14t.so.1.0+0x12c0ba) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#63 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12c0ba)
#64 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:2962:35 (libpython3.14t.so.1.0+0x341035) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#65 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x3368bf) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#66 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x3368bf)
#67 PyEval_EvalCode /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:975:21 (libpython3.14t.so.1.0+0x3368bf)
#68 builtin_exec_impl /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/bltinmodule.c:1180:17 (libpython3.14t.so.1.0+0x32fc23) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#69 builtin_exec /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/clinic/bltinmodule.c.h:571:20 (libpython3.14t.so.1.0+0x32fc23)
#70 cfunction_vectorcall_FASTCALL_KEYWORDS /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/methodobject.c:465:24 (libpython3.14t.so.1.0+0x1da645) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#71 _PyObject_VectorcallTstate /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_call.h:169:11 (libpython3.14t.so.1.0+0x12bffc) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#72 PyObject_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:327:12 (libpython3.14t.so.1.0+0x12bffc)
#73 _PyEval_EvalFrameDefault /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/generated_cases.c.h:1622:35 (libpython3.14t.so.1.0+0x33be8f) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#74 _PyEval_EvalFrame /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Include/internal/pycore_ceval.h:120:16 (libpython3.14t.so.1.0+0x336d80) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#75 _PyEval_Vector /work/.pyenv/sources/3.14.3t/Python-3.14.3/Python/ceval.c:2083:12 (libpython3.14t.so.1.0+0x336d80)
#76 _PyFunction_Vectorcall /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c (libpython3.14t.so.1.0+0x12c691) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#77 _PyVectorcall_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:273:16 (libpython3.14t.so.1.0+0x12c317) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#78 _PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:348:16 (libpython3.14t.so.1.0+0x12c317)
#79 PyObject_Call /work/.pyenv/sources/3.14.3t/Python-3.14.3/Objects/call.c:373:12 (libpython3.14t.so.1.0+0x12c387) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#80 pymain_run_module /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:353:14 (libpython3.14t.so.1.0+0x45ea1e) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#81 pymain_run_python /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:688:21 (libpython3.14t.so.1.0+0x45e0b0) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#82 Py_RunMain /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:775:5 (libpython3.14t.so.1.0+0x45e0b0)
#83 pymain_main /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:805:12 (libpython3.14t.so.1.0+0x45e838) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#84 Py_BytesMain /work/.pyenv/sources/3.14.3t/Python-3.14.3/Modules/main.c:829:12 (libpython3.14t.so.1.0+0x45e8bc) (BuildId: cb8f90e4c5e317580b5b21cb4ef066a699b7c085)
#85 main /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Programs/python.c:15:12 (python3.14+0xe8c9b) (BuildId: de7a72a55f9634d4b8bebf4d6ad6ace6e892d873)
SUMMARY: ThreadSanitizer: data race /work/.pyenv/sources/3.14.3t/Python-3.14.3/./Modules/_ctypes/_ctypes.c:592:15 in ctype_get_pointer_type
I'm trying to reduce this a little bit. I'm not sure if it only triggers on 3.14 or if it's possible on 3.15 as well. The CFFI CI was using free-threaded 3.14.3. ZeroIntensity commented on Jul 17, 2026 sergey-miryanov commented on Jul 17, 2026 set_type wasn't deprecated.
ZeroIntensity commented on Jul 17, 2026 Is that related to this issue? This issue seems to be about SetPointerType, not set_type. sergey-miryanov commented on Jul 18, 2026 SetPointerType was implemented using set_type, and we discussed above that it would be good to deprecate set_type. But you're right that it's a different matter.
I think this can be closed. vstinner commented on Jul 18, 2026 @encukou: What do you think of deprecating the _ctypes.PyCPointerType.set_type() method? The SetPointerType() function just called the method:
def SetPointerType(pointer, cls):
pointer.set_type(cls)encukou commented on Jul 19, 2026 It makes sense, for the thread safety reasons. I left the issue open for that (my workflow would be to close this after opening the new one).
But I'm deferring to @ZeroIntensity now :) ZeroIntensity commented on Jul 21, 2026 What thread safety issues come with set_type? Looking at the implementation, nothing jumps out at me as super wrong. encukou commented on Jul 22, 2026 AFAIK it's this line in PyCPointerType_SetProto:
Py_XSETREF(stginfo->proto, Py_NewRef(proto));
Other code borrows stginfo->proto, assuming that it's set only once for a given object.
We could add a lock around this, but since set_type is unneeded*, undocumented, and as far as I can see essentially unused, it's probably better to get rid of set_type & stick to single assignment for stginfo->proto.
* for background on the use case: the need for SetPointerType/set_type -- "filling in" a pointer's type after creation -- is mentioned in ctypes 0.6.3+ docs (and earlier with a note that it “doesn't seem to work completely”). In 0.9.9.6 -- just before merging ctypes to stdlib -- the tutorial was updated: this use case is served by struct/union _fields_ being “lazy“. ZeroIntensity commented on Jul 23, 2026 Deprecating seems reasonable to me then, as long as there's a clear migration path.
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|