Split out from #2693 to track only the cuda-gdb failure. The three
test_graph_memory_resource.py::test_graph_alloc_with_output[*] failures in that
run stay with the parent issue / #2527.
Symptom
Automatic testing against CTK 13.3 (board local_l4t, Sun Aug 23 12:48:06 AM IST 2026,
first run that showed 4 failures instead of 3):
FAILED cuda_core/tests/test_program.py::test_cuda_gdb_shows_nvrtc_debug_source_lines - AssertionError: [Thread debugging using libthread_db enabled]
The abbreviated assertion message is just the first line of the captured cuda-gdb
output, which is why the report is not self-explanatory.
Analysis
The test was added in #2679. On this board cuda-gdb is on PATH, so the existing
shutil.which("cuda-gdb") guard passes, but the debugger back-end is missing:
[Inferior 1 (process ...) exited normally]
Could not find CUDA Debugger back-end (libcudadebugger.so.1). Debugging is not possible
Without the back-end, set cuda break_on_launch application never stops the
inferior, so list never shows a device frame and the assertion on the NVRTC
temp .cu file name fails.
This is an environment/guard gap, not a regression in the NVRTC debug source
materialization from #2679: the three test_nvrtc_debug_* tests pass in the same run.
Fix
#2707 widens the guard so that Debugging is not possible is recognized and the
test reports xfail instead of failing.
Split out from #2693 to track only the
cuda-gdbfailure. The threetest_graph_memory_resource.py::test_graph_alloc_with_output[*]failures in thatrun stay with the parent issue / #2527.
Symptom
Automatic testing against CTK 13.3 (board
local_l4t,Sun Aug 23 12:48:06 AM IST 2026,first run that showed 4 failures instead of 3):
The abbreviated assertion message is just the first line of the captured
cuda-gdboutput, which is why the report is not self-explanatory.
Analysis
The test was added in #2679. On this board
cuda-gdbis onPATH, so the existingshutil.which("cuda-gdb")guard passes, but the debugger back-end is missing:Without the back-end,
set cuda break_on_launch applicationnever stops theinferior, so
listnever shows a device frame and the assertion on the NVRTCtemp
.cufile name fails.This is an environment/guard gap, not a regression in the NVRTC debug source
materialization from #2679: the three
test_nvrtc_debug_*tests pass in the same run.Fix
#2707 widens the guard so that
Debugging is not possibleis recognized and thetest reports
xfailinstead of failing.