Any calls to the CUDA API result in the software jumping to _dl_catch_exception() at 0x7fb7d51b5c during debugging. I am running the remote debugger as root on the TX2 development kit.
However, if I launch the software by pressing “run” in NSight it works fine. Furthermore, if I scp the executable onto the TX2 and launch it outside of the debugger via the terminal it works as expected.
This occurs in both the deviceQuery sample code and the code below, as well as various other simple examples using cudaMalloc and cudaFree I have tested.
I am using Jetpack 4.2 and I think I am having the same problem as described here: https://devtalk.nvidia.com/default/topic/1050017/nsight-eclipse-edition/nsight-opengl-debugging/
Any help is much appreciated.
#include <cuda.h>
#include <cuda_runtime.h>
#include <stdio.h>
int main(int argc, char** argv) {
int numDevices = 0;
cudaGetDeviceCount(&numDevices);
printf("Device count %d", numDevices);
return 0;
}
Below are the GDB traces from the deviceQuery sample starting from line 61 (the first CUDA API call) up to the exception occuring
012,296 131^done,threads=[{id="1",target-id="Thread 15637.15637",name="dave",frame={level="0",addr="\
0x000000555555e90c",func="main",args=[{name="argc",value="1"},{name="argv",value="0x7ffffff508"}],fi\
le="../src/deviceQuery.cpp",fullname="/home/robert/cuda-workspace/dave/src/deviceQuery.cpp",line="61\
"},state="stopped",core="5"}]
012,296 (gdb)
020,573 132-exec-next 1
020,574 132^running
020,574 *running,thread-id="all"
020,574 (gdb)
020,612 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 from remote target...\n"
020,621 =library-loaded,id="/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1",target-name="/usr/lib/aar\
ch64-linux-gnu/tegra/libcuda.so.1",host-name="target:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1",\
symbols-loaded="0",thread-group="i1"
020,621 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so from remote target...\n"
020,629 =library-loaded,id="/usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so",target-name="/usr/lib/a\
arch64-linux-gnu/tegra/libnvrm_gpu.so",host-name="target:/usr/lib/aarch64-linux-gnu/tegra/libnvrm_gp\
u.so",symbols-loaded="0",thread-group="i1"
020,629 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvrm.so from remote target...\n"
020,636 =library-loaded,id="/usr/lib/aarch64-linux-gnu/tegra/libnvrm.so",target-name="/usr/lib/aarch\
64-linux-gnu/tegra/libnvrm.so",host-name="target:/usr/lib/aarch64-linux-gnu/tegra/libnvrm.so",symbol\
s-loaded="0",thread-group="i1"
020,636 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvrm_graphics.so from remote target...\n"
020,644 =library-loaded,id="/usr/lib/aarch64-linux-gnu/tegra/libnvrm_graphics.so",target-name="/usr/\
lib/aarch64-linux-gnu/tegra/libnvrm_graphics.so",host-name="target:/usr/lib/aarch64-linux-gnu/tegra/\
libnvrm_graphics.so",symbols-loaded="0",thread-group="i1"
020,644 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvidia-fatbinaryloader.so.32.1.0 from remote t\
arget...\n"
020,653 =library-loaded,id="/usr/lib/aarch64-linux-gnu/tegra/libnvidia-fatbinaryloader.so.32.1.0",ta\
rget-name="/usr/lib/aarch64-linux-gnu/tegra/libnvidia-fatbinaryloader.so.32.1.0",host-name="target:/\
usr/lib/aarch64-linux-gnu/tegra/libnvidia-fatbinaryloader.so.32.1.0",symbols-loaded="0",thread-group\
="i1"
020,653 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvos.so from remote target...\n"
020,663 =library-loaded,id="/usr/lib/aarch64-linux-gnu/tegra/libnvos.so",target-name="/usr/lib/aarch\
64-linux-gnu/tegra/libnvos.so",host-name="target:/usr/lib/aarch64-linux-gnu/tegra/libnvos.so",symbol\
s-loaded="0",thread-group="i1"
020,681 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1.1.debug from remote target...\n"
020,681 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/.debug/libcuda.so.1.1.debug from remote target...\
\n"
020,693 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so.debug from remote target...\n"
020,694 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/.debug/libnvrm_gpu.so.debug from remote target...\
\n"
020,704 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvrm.so.debug from remote target...\n"
020,704 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/.debug/libnvrm.so.debug from remote target...\n"
020,712 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvrm_graphics.so.debug from remote target...\n\
"
020,712 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/.debug/libnvrm_graphics.so.debug from remote targ\
et...\n"
020,722 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvidia-fatbinaryloader.so.debug from remote ta\
rget...\n"
020,722 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/.debug/libnvidia-fatbinaryloader.so.debug from re\
mote target...\n"
020,731 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/libnvos.so.debug from remote target...\n"
020,731 ~"Reading /usr/lib/aarch64-linux-gnu/tegra/.debug/libnvos.so.debug from remote target...\n"
020,942 *stopped,reason="end-stepping-range",frame={addr="0x0000007fb7d51b5c",func="_dl_catch_except\
ion",args=[],from="target:/lib/aarch64-linux-gnu/libc.so.6"},thread-id="1",stopped-threads="all",cor\
e="4"