You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
load_backend: loaded BLAS backend from /devel/tools/llama.cpp/build/bin/libggml-blas.so
ggml_cuda_init: found 2 CUDA devices:
Device 0: NVIDIA GeForce RTX 5070 Ti, compute capability 12.0, VMM: yes
Device 1: NVIDIA GeForce RTX 5070 Ti, compute capability 12.0, VMM: yes
load_backend: loaded CUDA backend from /devel/tools/llama.cpp/build/bin/libggml-cuda.so
load_backend: loaded CPU backend from /devel/tools/llama.cpp/build/bin/libggml-cpu-alderlake.so
version: 8234 (30ea7bce5)
built with GNU 15.2.0 for Linux x86_64
/devel/tools/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu:97: CUDA error
CUDA error: the launch timed out and was terminated
current device: 1, in function ggml_backend_cuda_cpy_tensor_async at /devel/tools/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu:2836
cudaMemcpyPeerAsync(dst->data, cuda_ctx_dst->device, src->data, cuda_ctx_src->device, ggml_nbytes(dst), cuda_ctx_src->stream())
Not sure if relevant, but this happened after I upgraded drivers to 590 and CUDA version to 13.1
Also I get the following errors from the sanitizer even though they don't cause failure:
RMS_NORM_MUL_ROPE(ne=[8192,2,2,1],eps=0.000001,multi_add=1,set_rows=0,mode=0): ggml_backend_cuda_graph_compute: CUDA graph warmup complete========= Program hit cudaErrorGraphExecUpdateFailure (error 910) due to "the graph update was not performed because it included changes which violated constraints specific to instantiated graph update" on CUDA API call to cudaGraphExecUpdate.========= Saved host backtrace up to driver entry point at error========= Host Frame: ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context*, ggml_cgraph*, bool, bool, void const*) [0x3097666] in libggml-cuda.so========= Host Frame: ggml_backend_cuda_graph_compute(ggml_backend*, ggml_cgraph*) [0x3099631] in libggml-cuda.so========= Host Frame: ggml_backend_graph_compute [0x2f6a1] in libggml-base.so.0========= Host Frame: ggml_backend_compare_graph_backend [0x351c1] in libggml-base.so.0========= Host Frame: test_case::eval(ggml_backend*, ggml_backend*, char const*, printer*) [0x9d294] in test-backend-ops========= Host Frame: main [0x1ba16] in test-backend-ops========= ========= Program hit cudaErrorGraphExecUpdateFailure (error 910) due to "the graph update was not performed because it included changes which violated constraints specific to instantiated graph update" on CUDA API call to cudaGetLastError.========= Saved host backtrace up to driver entry point at error========= Host Frame: ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context*, ggml_cgraph*, bool, bool, void const*) [0x3098ab1] in libggml-cuda.so========= Host Frame: ggml_backend_cuda_graph_compute(ggml_backend*, ggml_cgraph*) [0x3099631] in libggml-cuda.so========= Host Frame: ggml_backend_graph_compute [0x2f6a1] in libggml-base.so.0========= Host Frame: ggml_backend_compare_graph_backend [0x351c1] in libggml-base.so.0========= Host Frame: test_case::eval(ggml_backend*, ggml_backend*, char const*, printer*) [0x9d294] in test-backend-ops========= Host Frame: main [0x1ba16] in test-backend-ops========= �[1;32mOK�[0m ROPE(type=f32,ne_a=[80,32,2,1],n_dims=20,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0): ggml_backend_cuda_graph_compute: CUDA graph warmup completeggml_backend_cuda_graph_compute: CUDA graph warmup complete========= Program hit cudaErrorGraphExecUpdateFailure (error 910) due to "the graph update was not performed because it included changes which violated constraints specific to instantiated graph update" on CUDA API call to cudaGraphExecUpdate.========= Saved host backtrace up to driver entry point at error========= Host Frame: ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context*, ggml_cgraph*, bool, bool, void const*) [0x3097666] in libggml-cuda.so========= Host Frame: ggml_backend_cuda_graph_compute(ggml_backend*, ggml_cgraph*) [0x3099631] in libggml-cuda.so========= Host Frame: ggml_backend_graph_compute [0x2f6a1] in libggml-base.so.0========= Host Frame: ggml_backend_compare_graph_backend [0x3533e] in libggml-base.so.0========= Host Frame: test_case::eval(ggml_backend*, ggml_backend*, char const*, printer*) [0x9d294] in test-backend-ops========= Host Frame: main [0x1ba16] in test-backend-ops========= ========= Program hit cudaErrorGraphExecUpdateFailure (error 910) due to "the graph update was not performed because it included changes which violated constraints specific to instantiated graph update" on CUDA API call to cudaGetLastError.========= Saved host backtrace up to driver entry point at error========= Host Frame: ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context*, ggml_cgraph*, bool, bool, void const*) [0x3098ab1] in libggml-cuda.so========= Host Frame: ggml_backend_cuda_graph_compute(ggml_backend*, ggml_cgraph*) [0x3099631] in libggml-cuda.so========= Host Frame: ggml_backend_graph_compute [0x2f6a1] in libggml-base.so.0========= Host Frame: ggml_backend_compare_graph_backend [0x3533e] in libggml-base.so.0========= Host Frame: test_case::eval(ggml_backend*, ggml_backend*, char const*, printer*) [0x9d294] in test-backend-ops========= Host Frame: main [0x1ba16] in test-backend-ops========= ggml_backend_cuda_graph_compute: CUDA graph warmup completeggml_backend_cuda_graph_compute: CUDA graph warmup complete========= Program hit cudaErrorGraphExecUpdateFailure (error 910) due to "the graph update was not performed because it included changes which violated constraints specific to instantiated graph update" on CUDA API call to cudaGraphExecUpdate.========= Saved host backtrace up to driver entry point at error========= Host Frame: ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context*, ggml_cgraph*, bool, bool, void const*) [0x3097666] in libggml-cuda.so========= Host Frame: ggml_backend_cuda_graph_compute(ggml_backend*, ggml_cgraph*) [0x3099631] in libggml-cuda.so========= Host Frame: ggml_backend_graph_compute [0x2f6a1] in libggml-base.so.0========= Host Frame: ggml_backend_compare_graph_backend [0x3533e] in libggml-base.so.0========= Host Frame: test_case::eval(ggml_backend*, ggml_backend*, char const*, printer*) [0x9d294] in test-backend-ops========= Host Frame: main [0x1ba16] in test-backend-ops========= ========= Program hit cudaErrorGraphExecUpdateFailure (error 910) due to "the graph update was not performed because it included changes which violated constraints specific to instantiated graph update" on CUDA API call to cudaGetLastError.========= Saved host backtrace up to driver entry point at error========= Host Frame: ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context*, ggml_cgraph*, bool, bool, void const*) [0x3098ab1] in libggml-cuda.so========= Host Frame: ggml_backend_cuda_graph_compute(ggml_backend*, ggml_cgraph*) [0x3099631] in libggml-cuda.so========= Host Frame: ggml_backend_graph_compute [0x2f6a1] in libggml-base.so.0========= Host Frame: ggml_backend_compare_graph_backend [0x3533e] in libggml-base.so.0========= Host Frame: test_case::eval(ggml_backend*, ggml_backend*, char const*, printer*) [0x9d294] in test-backend-ops========= Host Frame: main [0x1ba16] in test-backend-ops========= ggml_backend_cuda_graph_compute: CUDA graph warmup complete�[1;32mOK�[0m
@ggerganov I have no idea why it's reporting that way (I guess it's reporting old debugging info? I'll clear the build and rebuild) but it's a clean build 8299 (commit d28961d)
Yeah I removed the entire build dir and rebuilt, also changed target arch from 89 to 120 now that I installed CUDA 13. Will see if the problem persists.
#0 __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:5656 in ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S#1 0x0000794a830a013c in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=0, a6=0, nr=61) at ./nptl/cancellation.c:49warning: 49 ./nptl/cancellation.c: No such file or directory#2 __syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=0, nr=61) at ./nptl/cancellation.c:7575 in ./nptl/cancellation.c#3 0x0000794a8311ca0f in __GI___wait4 (pid=<optimized out>, stat_loc=<optimized out>, options=<optimized out>, usage=<optimized out>) at ../sysdeps/unix/sysv/linux/wait4.c:30warning: 30 ../sysdeps/unix/sysv/linux/wait4.c: No such file or directory#4 0x0000794a83b67e13 in ggml_print_backtrace () from /devel/tools/llama.cpp/build/bin/libggml-base.so.0#5 0x0000794a83b67fc6 in ggml_abort () from /devel/tools/llama.cpp/build/bin/libggml-base.so.0#6 0x0000794991bf2e55 in ggml_cuda_error(char const*, char const*, char const*, int, char const*) () from /devel/tools/llama.cpp/build/bin/libggml-cuda.so#7 0x0000794991bf723e in ggml_backend_cuda_set_tensor_async(ggml_backend*, ggml_tensor*, void const*, unsigned long, unsigned long) () from /devel/tools/llama.cpp/build/bin/libggml-cuda.so#8 0x0000794a83b848a3 in ggml_backend_sched_graph_compute_async () from /devel/tools/llama.cpp/build/bin/libggml-base.so.0#9 0x0000794a838cd350 in llama_context::graph_compute(ggml_cgraph*, bool) () from /devel/tools/llama.cpp/build/bin/libllama.so.0#10 0x0000794a838cfd13 in llama_context::process_ubatch(llama_ubatch const&, llm_graph_type, llama_memory_context_i*, ggml_status&) () from /devel/tools/llama.cpp/build/bin/libllama.so.0#11 0x0000794a838d668f in llama_context::decode(llama_batch const&) () from /devel/tools/llama.cpp/build/bin/libllama.so.0#12 0x0000794a838d8262 in llama_decode () from /devel/tools/llama.cpp/build/bin/libllama.so.0#13 0x000064f0d9c25e5e in server_context_impl::update_slots() ()#14 0x000064f0d9c7564f in server_queue::start_loop(long) ()#15 0x000064f0d9b75486 in main ()[Inferior 1 (process 1390545) detached]Aborted (core dumped)
Eh, the thing is, I did diagnostics and it doesn't look like a hardware issue. Here's what Claude says after I fed it all the results from logs etc.
The pattern (both cards, only under load, cool and underutilized power-wise, specific to llama-server) points squarely at llama.cpp issuing a CUDA kernel that the watchdog interprets as a hang — even if the GPU would have eventually completed it.
The biggest issue here is it's happening on both cards pretty randomly - hard to imagine both (relatively new) cards just broke down. I'll try increasing the watchdog timeout to see if it's an actual issue with the kernels.
Well unless you can give us a repro, it might be hard to do. You can probably run a release build with debug symbols and share the core dump if that's possible
Activity
pwilkin commentedon Mar 5, 2026
dmesg has this:
CISC commentedon Mar 5, 2026
I've been using 590 with 13.1 for quite a while without issues...
ggerganov commentedon Mar 5, 2026
Do you have this commit in your branch: 2cd20b7
pwilkin commentedon Mar 5, 2026
@ggerganov nope, does it possibly fix the issue? (it's not a very reproducible issue, I haven't encountered it since)
ggerganov commentedon Mar 6, 2026
Ok, I was just making sure that it didn't cause the issue.
pwilkin commentedon Mar 6, 2026
Happened again with said commit included this time.
pwilkin commentedon Mar 6, 2026
Running
compute-sanitizer test-backend-opsgives this:Also I get the following errors from the sanitizer even though they don't cause failure:
Details on the softmax errors:
am17an commentedon Mar 7, 2026
Can you share a repro? It's ok if it happens sporadically, just need a stack trace to debug
pwilkin commentedon Mar 8, 2026
Will try if it happens again.
pwilkin commentedon Mar 11, 2026
BTW, I've reverted to 580 drivers + CUDA 13.0 and the error hasn't reappeared so far.
CISC commentedon Mar 11, 2026
595 and 13.2 is out, YOLO! :)
4 remaining items
pwilkin commentedon Mar 12, 2026
@ggerganov I have no idea why it's reporting that way (I guess it's reporting old debugging info? I'll clear the build and rebuild) but it's a clean build 8299 (commit d28961d)
ggerganov commentedon Mar 12, 2026
Most likely it's linking to some stale/old
.so. See the output ofldd -r ./bin/llama-serverpwilkin commentedon Mar 12, 2026
Yeah I removed the entire build dir and rebuilt, also changed target arch from 89 to 120 now that I installed CUDA 13. Will see if the problem persists.
pwilkin commentedon Mar 14, 2026
Got the crash again:
This time clean 8299.
Gonna run a rebuilt 8346 now, see if it helps.
pwilkin commentedon Mar 14, 2026
Still the same:
pwilkin commentedon Mar 14, 2026
Same stuff as before in dmesg:
pwilkin commentedon Mar 17, 2026
Still happening. I thought it might be memory pressure, so I ran the server on
--cpu-moeonly, but this still happens. Maybe some memory leak?I'm running with reduced checkpoints now, from 32 to 8, will see if it helps. Any ideas what I could do to debug this further?
am17an commentedon Mar 17, 2026
Maybe re-install your OS?
ggerganov commentedon Mar 17, 2026
From googling a bit, it sounds like a hardware issue.
pwilkin commentedon Mar 17, 2026
Eh, the thing is, I did diagnostics and it doesn't look like a hardware issue. Here's what Claude says after I fed it all the results from logs etc.
The biggest issue here is it's happening on both cards pretty randomly - hard to imagine both (relatively new) cards just broke down. I'll try increasing the watchdog timeout to see if it's an actual issue with the kernels.
am17an commentedon Mar 17, 2026
Well unless you can give us a repro, it might be hard to do. You can probably run a release build with debug symbols and share the core dump if that's possible
pwilkin commentedon Mar 17, 2026
Okay, build
RelWithDbgInfoand setulimit -c unlimited, let's see if I can get something.pwilkin commentedon Mar 23, 2026
Just a FYI: after I increased the watchdog timeout to 60s, the problem hasn't come back, so maybe it was a really long-running kernel.
pwilkin commentedon Jul 8, 2026
If someone wants to know how to do it:
Add to
/etc/modprobe.d/nvidia-graphics-drivers-kms.conf