-
-
Notifications
You must be signed in to change notification settings - Fork 34.1k
Open
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
According to the Python stack trace from faulthandler, the problem comes from the _lazy_compile decorator in networkx:
I don't have a simple way to reproduce this unfortunately. I hit this running the scikit-image tests using a TSan-instrumented build of scikit-image and all its dependencies, including CPython.
goldbaum at Nathans-MBP in ~/Documents/scikit-image on use_pytest_run_parallel
± TSAN_OPTIONS=halt_on_error=1 spin test --no-build "tests/skimage/graph/test_rag.py::test_rag_merge" -- --parallel-threads=4 -sv --skip-thread-unsafe=true
python3.15(44941,0x1f7caa240) malloc: nano zone abandoned due to inability to reserve vm space.
$ export PYTHONPATH="/Users/goldbaum/Documents/scikit-image/build-install/usr/lib/python3.15t/site-packages"
$ /Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/bin/python3.15 -P -c 'import skimage'
python3.15(44994,0x1f7caa240) malloc: nano zone abandoned due to inability to reserve vm space.
$ /Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/bin/python3.15 -P -m pytest --doctest-plus tests/skimage/graph/test_rag.py::test_rag_merge --parallel-threads=4 -sv --skip-thread-unsafe=true
python3.15(44996,0x1f7caa240) malloc: nano zone abandoned due to inability to reserve vm space.
======================================================================================= test session starts =======================================================================================
platform darwin -- Python 3.15.0a6+, pytest-9.0.2, pluggy-1.6.0 -- /Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/bin/python3.15
cachedir: .pytest_cache
rootdir: /Users/goldbaum/Documents/scikit-image
configfile: pyproject.toml
plugins: pretty-1.3.0, run-parallel-0.8.2, localserver-0.10.0, doctestplus-1.7.1, cov-7.0.0
collected 1 item
Collected 1 items to run in parallel
tests/skimage/graph/test_rag.py::test_rag_merge ==================
WARNING: ThreadSanitizer: data race (pid=44996)
Read of size 8 at 0x000110d59040 by thread T1:
#0 func_set_code funcobject.c:667 (libpython3.15t.dylib:arm64+0xdca5c)
#1 getset_set descrobject.c:250 (libpython3.15t.dylib:arm64+0xa5148)
#2 _PyObject_GenericSetAttrWithDict object.c:2012 (libpython3.15t.dylib:arm64+0x144274)
#3 PyObject_GenericSetAttr object.c:2083 (libpython3.15t.dylib:arm64+0x1449dc)
#4 PyObject_SetAttr object.c:1528 (libpython3.15t.dylib:arm64+0x141858)
#5 _PyEval_EvalFrameDefault generated_cases.c.h:10903 (libpython3.15t.dylib:arm64+0x29dc70)
#6 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#7 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#8 _PyObject_VectorcallDictTstate call.c:135 (libpython3.15t.dylib:arm64+0x8db18)
#9 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#10 slot_tp_new typeobject.c:11002 (libpython3.15t.dylib:arm64+0x1a3c74)
#11 type_call typeobject.c:2460 (libpython3.15t.dylib:arm64+0x1971cc)
#12 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#13 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#14 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#15 _PyEval_EvalFrameDefault generated_cases.c.h:1817 (libpython3.15t.dylib:arm64+0x28bb2c)
#16 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#17 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#18 method_vectorcall classobject.c:74 (libpython3.15t.dylib:arm64+0x931c8)
#19 context_run context.c:727 (libpython3.15t.dylib:arm64+0x2d1110)
#20 method_vectorcall_FASTCALL_KEYWORDS descrobject.c:421 (libpython3.15t.dylib:arm64+0xa6014)
#21 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e8e4)
#22 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#23 _PyEval_EvalFrameDefault generated_cases.c.h:1817 (libpython3.15t.dylib:arm64+0x28bb2c)
#24 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#25 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#26 method_vectorcall classobject.c:74 (libpython3.15t.dylib:arm64+0x931c8)
#27 _PyObject_Call call.c:348 (libpython3.15t.dylib:arm64+0x8eb98)
#28 PyObject_Call call.c:373 (libpython3.15t.dylib:arm64+0x8ec10)
#29 thread_run _threadmodule.c:387 (libpython3.15t.dylib:arm64+0x43a2e4)
#30 pythread_wrapper thread_pthread.h:234 (libpython3.15t.dylib:arm64+0x37a748)
Previous write of size 8 at 0x000110d59040 by thread T2:
#0 func_set_code funcobject.c:682 (libpython3.15t.dylib:arm64+0xdcc78)
#1 getset_set descrobject.c:250 (libpython3.15t.dylib:arm64+0xa5148)
#2 _PyObject_GenericSetAttrWithDict object.c:2012 (libpython3.15t.dylib:arm64+0x144274)
#3 PyObject_GenericSetAttr object.c:2083 (libpython3.15t.dylib:arm64+0x1449dc)
#4 PyObject_SetAttr object.c:1528 (libpython3.15t.dylib:arm64+0x141858)
#5 _PyEval_EvalFrameDefault generated_cases.c.h:10903 (libpython3.15t.dylib:arm64+0x29dc70)
#6 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#7 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#8 _PyObject_VectorcallDictTstate call.c:135 (libpython3.15t.dylib:arm64+0x8db18)
#9 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#10 slot_tp_new typeobject.c:11002 (libpython3.15t.dylib:arm64+0x1a3c74)
#11 type_call typeobject.c:2460 (libpython3.15t.dylib:arm64+0x1971cc)
#12 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#13 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#14 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#15 _PyEval_EvalFrameDefault generated_cases.c.h:1817 (libpython3.15t.dylib:arm64+0x28bb2c)
#16 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#17 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#18 method_vectorcall classobject.c:74 (libpython3.15t.dylib:arm64+0x931c8)
#19 context_run context.c:727 (libpython3.15t.dylib:arm64+0x2d1110)
#20 method_vectorcall_FASTCALL_KEYWORDS descrobject.c:421 (libpython3.15t.dylib:arm64+0xa6014)
#21 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e8e4)
#22 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#23 _PyEval_EvalFrameDefault generated_cases.c.h:1817 (libpython3.15t.dylib:arm64+0x28bb2c)
#24 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#25 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#26 method_vectorcall classobject.c:74 (libpython3.15t.dylib:arm64+0x931c8)
#27 _PyObject_Call call.c:348 (libpython3.15t.dylib:arm64+0x8eb98)
#28 PyObject_Call call.c:373 (libpython3.15t.dylib:arm64+0x8ec10)
#29 thread_run _threadmodule.c:387 (libpython3.15t.dylib:arm64+0x43a2e4)
#30 pythread_wrapper thread_pthread.h:234 (libpython3.15t.dylib:arm64+0x37a748)
Thread T1 (tid=375271174, running) created by main thread at:
#0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x30e28)
#1 do_start_joinable_thread thread_pthread.h:281 (libpython3.15t.dylib:arm64+0x379964)
#2 PyThread_start_joinable_thread thread_pthread.h:323 (libpython3.15t.dylib:arm64+0x37979c)
#3 ThreadHandle_start _threadmodule.c:474 (libpython3.15t.dylib:arm64+0x43a0f0)
#4 do_start_new_thread _threadmodule.c:1920 (libpython3.15t.dylib:arm64+0x439bbc)
#5 thread_PyThread_start_joinable_thread _threadmodule.c:2043 (libpython3.15t.dylib:arm64+0x438c24)
#6 cfunction_call methodobject.c:564 (libpython3.15t.dylib:arm64+0x1359e8)
#7 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#8 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#9 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#10 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#11 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#12 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#13 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#14 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#15 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#16 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#17 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#18 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#19 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#20 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#21 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#22 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#23 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#24 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#25 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#26 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#27 _PyObject_Call call.c:361 (libpython3.15t.dylib:arm64+0x8eb58)
#28 PyObject_Call call.c:373 (libpython3.15t.dylib:arm64+0x8ec10)
#29 _PyEval_EvalFrameDefault generated_cases.c.h:2611 (libpython3.15t.dylib:arm64+0x28d4b8)
#30 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#31 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#32 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#33 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#34 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#35 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#36 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#37 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#38 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#39 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#40 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#41 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#42 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#43 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#44 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#45 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#46 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#47 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#48 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#49 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#50 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#51 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#52 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#53 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#54 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#55 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#56 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#57 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#58 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#59 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#60 PyEval_EvalCode ceval.c:680 (libpython3.15t.dylib:arm64+0x285a04)
#61 builtin_exec bltinmodule.c.h:674 (libpython3.15t.dylib:arm64+0x27f654)
#62 cfunction_vectorcall_FASTCALL_KEYWORDS methodobject.c:465 (libpython3.15t.dylib:arm64+0x134da0)
#63 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e8e4)
#64 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#65 _PyEval_EvalFrameDefault generated_cases.c.h:1817 (libpython3.15t.dylib:arm64+0x28bb2c)
#66 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#67 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#68 _PyObject_Call call.c:348 (libpython3.15t.dylib:arm64+0x8eb98)
#69 PyObject_Call call.c:373 (libpython3.15t.dylib:arm64+0x8ec10)
#70 pymain_run_module main.c:353 (libpython3.15t.dylib:arm64+0x3925c0)
#71 Py_RunMain main.c:772 (libpython3.15t.dylib:arm64+0x391bb4)
#72 pymain_main main.c:802 (libpython3.15t.dylib:arm64+0x392364)
#73 Py_BytesMain main.c:826 (libpython3.15t.dylib:arm64+0x392464)
#74 main <null> (python3.15:arm64+0x100000788)
Thread T2 (tid=375271175, running) created by main thread at:
#0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:arm64+0x30e28)
#1 do_start_joinable_thread thread_pthread.h:281 (libpython3.15t.dylib:arm64+0x379964)
#2 PyThread_start_joinable_thread thread_pthread.h:323 (libpython3.15t.dylib:arm64+0x37979c)
#3 ThreadHandle_start _threadmodule.c:474 (libpython3.15t.dylib:arm64+0x43a0f0)
#4 do_start_new_thread _threadmodule.c:1920 (libpython3.15t.dylib:arm64+0x439bbc)
#5 thread_PyThread_start_joinable_thread _threadmodule.c:2043 (libpython3.15t.dylib:arm64+0x438c24)
#6 cfunction_call methodobject.c:564 (libpython3.15t.dylib:arm64+0x1359e8)
#7 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#8 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#9 _Py_VectorCall_StackRefSteal ceval.c:727 (libpython3.15t.dylib:arm64+0x2861f8)
#10 _PyEval_EvalFrameDefault generated_cases.c.h:3395 (libpython3.15t.dylib:arm64+0x28efec)
#11 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#12 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#13 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#14 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#15 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#16 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#17 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#18 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#19 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#20 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#21 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#22 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#23 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#24 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#25 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#26 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#27 _PyObject_Call call.c:361 (libpython3.15t.dylib:arm64+0x8eb58)
#28 PyObject_Call call.c:373 (libpython3.15t.dylib:arm64+0x8ec10)
#29 _PyEval_EvalFrameDefault generated_cases.c.h:2611 (libpython3.15t.dylib:arm64+0x28d4b8)
#30 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#31 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#32 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#33 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#34 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#35 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#36 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#37 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#38 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#39 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#40 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#41 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#42 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#43 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#44 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#45 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#46 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#47 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#48 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#49 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#50 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#51 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#52 _PyObject_VectorcallDictTstate call.c:146 (libpython3.15t.dylib:arm64+0x8dad0)
#53 _PyObject_Call_Prepend call.c:504 (libpython3.15t.dylib:arm64+0x8f52c)
#54 call_method typeobject.c:3088 (libpython3.15t.dylib:arm64+0x1a3dec)
#55 slot_tp_call typeobject.c:10744 (libpython3.15t.dylib:arm64+0x1a3b6c)
#56 _PyObject_MakeTpCall call.c:242 (libpython3.15t.dylib:arm64+0x8dd70)
#57 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e978)
#58 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#59 _PyEval_EvalFrameDefault generated_cases.c.h:3193 (libpython3.15t.dylib:arm64+0x28e8ec)
#60 PyEval_EvalCode ceval.c:680 (libpython3.15t.dylib:arm64+0x285a04)
#61 builtin_exec bltinmodule.c.h:674 (libpython3.15t.dylib:arm64+0x27f654)
#62 cfunction_vectorcall_FASTCALL_KEYWORDS methodobject.c:465 (libpython3.15t.dylib:arm64+0x134da0)
#63 PyObject_Vectorcall call.c:327 (libpython3.15t.dylib:arm64+0x8e8e4)
#64 _Py_VectorCallInstrumentation_StackRefSteal ceval.c:769 (libpython3.15t.dylib:arm64+0x286930)
#65 _PyEval_EvalFrameDefault generated_cases.c.h:1817 (libpython3.15t.dylib:arm64+0x28bb2c)
#66 _PyEval_Vector ceval.c:2132 (libpython3.15t.dylib:arm64+0x285e2c)
#67 _PyFunction_Vectorcall call.c (libpython3.15t.dylib:arm64+0x8ef28)
#68 _PyObject_Call call.c:348 (libpython3.15t.dylib:arm64+0x8eb98)
#69 PyObject_Call call.c:373 (libpython3.15t.dylib:arm64+0x8ec10)
#70 pymain_run_module main.c:353 (libpython3.15t.dylib:arm64+0x3925c0)
#71 Py_RunMain main.c:772 (libpython3.15t.dylib:arm64+0x391bb4)
#72 pymain_main main.c:802 (libpython3.15t.dylib:arm64+0x392364)
#73 Py_BytesMain main.c:826 (libpython3.15t.dylib:arm64+0x392464)
#74 main <null> (python3.15:arm64+0x100000788)
SUMMARY: ThreadSanitizer: data race funcobject.c:667 in func_set_code
==================
Fatal Python error: Aborted
<Cannot show all threads while the GIL is disabled>
Stack (most recent call first):
File "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/python3.15t/site-packages/networkx/utils/decorators.py", line 757 in _lazy_compile
File "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/python3.15t/site-packages/networkx/utils/decorators.py", line 784 in func
File "/Users/goldbaum/Documents/scikit-image/tests/skimage/graph/test_rag.py", line 23 in test_rag_merge
File "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/python3.15t/site-packages/pytest_run_parallel/plugin.py", line 80 in closure
File "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/python3.15t/threading.py", line 1017 in run
File "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/python3.15t/threading.py", line 1075 in _bootstrap_inner
File "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/python3.15t/threading.py", line 1037 in _bootstrap
Current thread's C stack trace (most recent call first):
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _Py_DumpStack+0x54 [0x103e3e0a4]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at faulthandler_fatal_error+0x330 [0x103e68ab4]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at _ZN6__tsanL21CallUserSignalHandlerEPNS_11ThreadStateEbbiPN11__sanitizer23__sanitizer_siginfo_padEPv+0x104 [0x1043a6538]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at _Z10sighandleriPN11__sanitizer23__sanitizer_siginfo_padEPv+0x1c0 [0x1043a69f4]
Binary file "/usr/lib/system/libsystem_platform.dylib", at _sigtramp+0x38 [0x189d4d6a4]
Binary file "/usr/lib/system/libsystem_pthread.dylib", at pthread_kill+0x128 [0x189d13848]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at wrap_pthread_kill+0x158 [0x1043a70e8]
Binary file "/usr/lib/system/libsystem_c.dylib", at abort+0x7c [0x189c1c9e4]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at _ZN11__sanitizer6AtexitEPFvvE+0x0 [0x104388784]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at _ZN11__sanitizer3DieEv+0x68 [0x104387ca4]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at _ZN6__tsan12OutputReportEPNS_11ThreadStateERKNS_12ScopedReportE+0x410 [0x1043ee438]
Binary file "/opt/homebrew/Cellar/llvm/21.1.7/lib/clang/21/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", at _ZN6__tsan10ReportRaceEPNS_11ThreadStateEPNS_9RawShadowENS_6ShadowES4_m+0xb84 [0x1043ef224]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at func_set_code+0xf8 [0x103b9ca60]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at getset_set+0x90 [0x103b6514c]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyObject_GenericSetAttrWithDict+0x20c [0x103c04278]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at PyObject_GenericSetAttr+0x3c [0x103c049e0]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at PyObject_SetAttr+0x1c8 [0x103c0185c]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyEval_EvalFrameDefault+0x158ac [0x103d5dc74]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyEval_Vector+0x3c0 [0x103d45e30]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyFunction_Vectorcall+0x94 [0x103b4ef2c]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyObject_VectorcallDictTstate+0x108 [0x103b4db1c]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyObject_Call_Prepend+0xb4 [0x103b4f530]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at slot_tp_new+0xec [0x103c63c78]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at type_call+0x80 [0x103c571d0]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyObject_MakeTpCall+0x1a4 [0x103b4dd74]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at PyObject_Vectorcall+0x130 [0x103b4e97c]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _Py_VectorCallInstrumentation_StackRefSteal+0x220 [0x103d46934]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyEval_EvalFrameDefault+0x3768 [0x103d4bb30]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyEval_Vector+0x3c0 [0x103d45e30]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at _PyFunction_Vectorcall+0x94 [0x103b4ef2c]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at method_vectorcall+0x1b8 [0x103b531cc]
Binary file "/Users/goldbaum/.pyenv/versions/3.15t-dev-tsan/lib/libpython3.15t.dylib", at context_run+0xc4 [0x103d91114]
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error