Stackoverflow when loading PythonPlot

This seems to be a python problem, but I’ve often had problems with python that could be solved simply be deleting and re-installing the corresponding packages. So I’m thinking this might be related to how Julia uses python, although this time, even a fresh installation of all of julia didn’t fix it. Loading PyPlot works, but then gives me a stackoverflow later. This one is from calling pythonplot():

Fatal Python error: _Py_CheckRecursiveCall: Unrecoverable stack overflow (used -1601828 kB) while calling a Python object
Python runtime state: preinitialized

Current thread 0x00007fd0a9755180 [julia] (most recent call first):
  <no Python frame>

[763232] signal 6 (-6): Aborted
in expression starting at none:1
unknown function (ip: 0x7fd0a980d95c) at /lib/x86_64-linux-gnu/libc.so.6
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
fatal_error_exit at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3250 [inlined]
fatal_error at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3396
_Py_FatalErrorFunc at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3482
_Py_CheckRecursiveCall at /usr/local/src/conda/python-3.14.0/Python/ceval.c:491
_Py_EnterRecursiveCallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_ceval.h:216 [inlined]
method_enter_call at /usr/local/src/conda/python-3.14.0/Objects/descrobject.c:300 [inlined]
method_vectorcall_NOARGS at /usr/local/src/conda/python-3.14.0/Objects/descrobject.c:444
_PyObject_VectorcallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_call.h:169 [inlined]
PyObject_VectorcallMethod at /usr/local/src/conda/python-3.14.0/Objects/call.c:856
PyObject_CallMethodNoArgs at /usr/local/src/conda/python-3.14.0/Include/cpython/abstract.h:65 [inlined]
_PyFile_Flush at /usr/local/src/conda/python-3.14.0/Objects/fileobject.c:542
flush_std_files at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:19Fatal Python error: _Py_CheckRecursiveCall: Unrecoverable stack overflow (used -1601828 kB) while calling a Python object
Python runtime state: preinitialized

Current thread 0x00007fd0a9755180 [julia] (most recent call first):
  <no Python frame>

[763232] signal 6 (-6): Aborted
in expression starting at none:1
unknown function (ip: 0x7fd0a980d95c) at /lib/x86_64-linux-gnu/libc.so.6
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
fatal_error_exit at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3250 [inlined]
fatal_error at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3396
_Py_FatalErrorFunc at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3482
_Py_CheckRecursiveCall at /usr/local/src/conda/python-3.14.0/Python/ceval.c:491
_Py_EnterRecursiveCallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_ceval.h:216 [inlined]
method_enter_call at /usr/local/src/conda/python-3.14.0/Objects/descrobject.c:300 [inlined]
method_vectorcall_NOARGS at /usr/local/src/conda/python-3.14.0/Objects/descrobject.c:444
_PyObject_VectorcallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_call.h:169 [inlined]
PyObject_VectorcallMethod at /usr/local/src/conda/python-3.14.0/Objects/call.c:856
PyObject_CallMethodNoArgs at /usr/local/src/conda/python-3.14.0/Include/cpython/abstract.h:65 [inlined]
_PyFile_Flush at /usr/local/src/conda/python-3.14.0/Objects/fileobject.c:542
flush_std_files at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1929
fatal_error at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3459
_Py_FatalErrorFunc at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3482
_Py_CheckRecursiveCall at /usr/local/src/conda/python-3.14.0/Python/ceval.c:491
_Py_EnterRecursiveCallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_ceval.h:216 [inlined]
_PyObject_MakeTpCall at /usr/local/src/conda/python-3.14.0/Objects/call.c:240
_PyObject_VectorcallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_call.h:169 [inlined]
_PyObject_CallFunctionVa at /usr/local/src/conda/python-3.14.0/Objects/call.c:552 [inlined]
PyObject_CallFunction at /usr/local/src/conda/python-3.14.0/Objects/call.c:574
PyErr_NewException at /usr/local/src/conda/python-3.14.0/Python/errors.c:1321
create_exception_group_class at /usr/local/src/conda/python-3.14.0/Objects/exceptions.c:1718 [inlined]
_PyBuiltins_AddExceptions at /usr/local/src/conda/python-3.14.0/Objects/exceptions.c:4461 [inlined]
pycore_init_builtins at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:931 [inlined]
pycore_interp_init at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1008
pyinit_config at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1049 [inlined]
pyinit_core at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1212
Py_InitializeFromConfig at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1532
Py_InitializeEx at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1570
Py_InitializeEx at /home/malte/.julia/packages/PythonCall/Ds20G/src/C/pointers.jl:300 [inlined]
init_context at /home/malte/.julia/packages/PythonCall/Ds20G/src/C/context.jl:278
__init__ at /home/malte/.julia/packages/PythonCall/Ds20G/src/C/C.jl:26
unknown function (ip: 0x7fd05a77b23f) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_module_run_initializer at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:68
run_module_init at ./loading.jl:1415
register_restored_modules at ./loading.jl:1403
#_include_from_serialized#865 at ./loading.jl:1291
_include_from_serialized at ./loading.jl:1246 [inlined]
#_require_search_from_serialized#881 at ./loading.jl:2074
_require_search_from_serialized at ./loading.jl:1981 [inlined]
__require_prelocked at ./loading.jl:2599
_require_prelocked at ./loading.jl:2465
macro expansion at ./loading.jl:2393 [inlined]
macro expansion at ./lock.jl:376 [inlined]
__require at ./loading.jl:2358
jfptr___require_49971.1 at /home/malte/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invoke_in_world at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:900
require at ./loading.jl:2334
jfptr_require_56715.1 at /home/malte/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
call_require at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:494 [inlined]
eval_import_path at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:532
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:886
ijl_toplevel_eval at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1047
eval_body at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:655
jl_interpret_toplevel_thunk at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:898
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1035
ijl_toplevel_eval at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1047
ijl_toplevel_eval_in at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1092
eval at ./boot.jl:489
_initialize_backend at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:1088
backend at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:245
#pythonplot#285 at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:86 [inlined]
pythonplot at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:86
unknown function (ip: 0x7fd05a7732bf) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
do_call at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:123
eval_value at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:243
eval_stmt_value at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:194 [inlined]
eval_body at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:707
jl_interpret_toplevel_thunk at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:898
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1035
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:975
ijl_toplevel_eval at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1047
ijl_toplevel_eval_in at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1092
eval at ./boot.jl:489
include_string at ./loading.jl:2842
include_string at ./loading.jl:2852
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invokelatest at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:881
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f__apply_iterate at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:868
#inlineeval#57 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:271
inlineeval at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:268
#repl_runcode_request##6 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:181
withpath at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/repl.jl:276
#repl_runcode_request##4 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:179
hideprompt at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/repl.jl:38
#repl_runcode_request##2 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:150 [inlined]
with_logstate at ./logging/logging.jl:540
with_logger at ./logging/logging.jl:651 [inlined]
#repl_runcode_request##0 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:263
unknown function (ip: 0x7fd05a76d47d) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invokelatest at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:881
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f__apply_iterate at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:868
#start_eval_backend##0 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:34
unknown function (ip: 0x7fd05a72242f) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
start_task at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/task.c:1249
Allocations: 17827315 (Pool: 17827051; Big: 264); GC: 14
29
fatal_error at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3459
_Py_FatalErrorFunc at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:3482
_Py_CheckRecursiveCall at /usr/local/src/conda/python-3.14.0/Python/ceval.c:491
_Py_EnterRecursiveCallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_ceval.h:216 [inlined]
_PyObject_MakeTpCall at /usr/local/src/conda/python-3.14.0/Objects/call.c:240
_PyObject_VectorcallTstate at /usr/local/src/conda/python-3.14.0/Include/internal/pycore_call.h:169 [inlined]
_PyObject_CallFunctionVa at /usr/local/src/conda/python-3.14.0/Objects/call.c:552 [inlined]
PyObject_CallFunction at /usr/local/src/conda/python-3.14.0/Objects/call.c:574
PyErr_NewException at /usr/local/src/conda/python-3.14.0/Python/errors.c:1321
create_exception_group_class at /usr/local/src/conda/python-3.14.0/Objects/exceptions.c:1718 [inlined]
_PyBuiltins_AddExceptions at /usr/local/src/conda/python-3.14.0/Objects/exceptions.c:4461 [inlined]
pycore_init_builtins at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:931 [inlined]
pycore_interp_init at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1008
pyinit_config at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1049 [inlined]
pyinit_core at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1212
Py_InitializeFromConfig at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1532
Py_InitializeEx at /usr/local/src/conda/python-3.14.0/Python/pylifecycle.c:1570
Py_InitializeEx at /home/malte/.julia/packages/PythonCall/Ds20G/src/C/pointers.jl:300 [inlined]
init_context at /home/malte/.julia/packages/PythonCall/Ds20G/src/C/context.jl:278
__init__ at /home/malte/.julia/packages/PythonCall/Ds20G/src/C/C.jl:26
unknown function (ip: 0x7fd05a77b23f) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_module_run_initializer at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:68
run_module_init at ./loading.jl:1415
register_restored_modules at ./loading.jl:1403
#_include_from_serialized#865 at ./loading.jl:1291
_include_from_serialized at ./loading.jl:1246 [inlined]
#_require_search_from_serialized#881 at ./loading.jl:2074
_require_search_from_serialized at ./loading.jl:1981 [inlined]
__require_prelocked at ./loading.jl:2599
_require_prelocked at ./loading.jl:2465
macro expansion at ./loading.jl:2393 [inlined]
macro expansion at ./lock.jl:376 [inlined]
__require at ./loading.jl:2358
jfptr___require_49971.1 at /home/malte/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invoke_in_world at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:900
require at ./loading.jl:2334
jfptr_require_56715.1 at /home/malte/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
call_require at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:494 [inlined]
eval_import_path at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:532
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:886
ijl_toplevel_eval at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1047
eval_body at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:655
jl_interpret_toplevel_thunk at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:898
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1035
ijl_toplevel_eval at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1047
ijl_toplevel_eval_in at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1092
eval at ./boot.jl:489
_initialize_backend at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:1088
backend at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:245
#pythonplot#285 at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:86 [inlined]
pythonplot at /home/malte/.julia/packages/Plots/8ZnR3/src/backends.jl:86
unknown function (ip: 0x7fd05a7732bf) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
do_call at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:123
eval_value at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:243
eval_stmt_value at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:194 [inlined]
eval_body at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:707
jl_interpret_toplevel_thunk at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/interpreter.c:898
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1035
jl_toplevel_eval_flex at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:975
ijl_toplevel_eval at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1047
ijl_toplevel_eval_in at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/toplevel.c:1092
eval at ./boot.jl:489
include_string at ./loading.jl:2842
include_string at ./loading.jl:2852
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invokelatest at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:881
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f__apply_iterate at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:868
#inlineeval#57 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:271
inlineeval at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:268
#repl_runcode_request##6 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:181
withpath at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/repl.jl:276
#repl_runcode_request##4 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:179
hideprompt at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/repl.jl:38
#repl_runcode_request##2 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:150 [inlined]
with_logstate at ./logging/logging.jl:540
with_logger at ./logging/logging.jl:651 [inlined]
#repl_runcode_request##0 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:263
unknown function (ip: 0x7fd05a76d47d) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invokelatest at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:881
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f__apply_iterate at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/builtins.c:868
#start_eval_backend##0 at /home/malte/.vscode-oss/extensions/julialang.language-julia-1.149.2-universal/scripts/packages/VSCodeServer/src/eval.jl:34
unknown function (ip: 0x7fd05a72242f) at (unknown file)
jl_apply at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
start_task at /cache/build/tester-amdci4-14/julialang/julia-release-1-dot-12/src/task.c:1249
Allocations: 17827315 (Pool: 17827051; Big: 264); GC: 14

1 Like

You’re using python-3.14.0 which is quite new. I’m not sure you’re the first one to try it with plotting, but something changed, and could you at least try older (3.13) for now as a workaround? Python added JIT recently, not sure when it was enabled by default first, maybe in 3.14. Maybe PythonCall news to support it better or something? Or disable it for now, if it’s a problem…

I tried setting /usr/bin/python3.13 in ~/.julia/prefs/PyCall and ENV["PYTHON_JIT"] = 0 prior to calling pythonplot, to no avail. I’m still getting a stack overflow.

edit: that was probably the wrong way to point Julia to python 3.13, particularly considering that I want to use PythonPlot, which uses PythonCall, but I also tried ENV["PYTHON"]="/usr/bin/python3.13", no change.

See Intermittent CI failures: Fatal Python error: _Py_CheckRecursiveCall: Unrecoverable stack overflow · Issue #694 · JuliaPy/PythonCall.jl · GitHub and linked issues.

TLDR Python 3.14 has a new stack overflow detection mechanism that doesn’t interact well with Julia’s execution model. For now you need to roll back to Python 3.13.

I’ll be making a release of PythonCall which restricts to Python 3.13 or older until this is sorted out.

1 Like