问题描述
按照https://github.com/NVIDIA/nvidia-docker/wiki/NVIDIA-Container-Runtime-on-Jetson上的说明,我正在为在jetson nano中的docker容器中运行GUI应用进行一些测试,我正在使用以下代码进行测试:
docker run --runtime nvidia --network host -it -e disPLAY=$disPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/l4t-base:r32.4.3
apt-get update && apt-get install -y mesa-utils
export disPLAY=:0.0 && glxgears
一切正常,在此示例中,我以主机模式(-网络主机)运行容器,但是在删除--network host
并运行后,我有一个应用程序要运行与主机隔离的容器容器,执行相同的步骤,我得到以下错误:
root@056440576e00:/# glxgears
Segmentation fault (core dumped)
strace日志:
socket(AF_UNIX,SOCK_DGRAM,0) = 7
connect(7,{sa_family=AF_UNIX,sun_path=@"nvidia20ac498a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"},66) = -1 ECONNREFUSED (Connection refused)
close(7) = 0
--- SIGSEGV {si_signo=SIGSEGV,si_code=SEGV_MAPERR,si_addr=0x28c48} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault
root@056440576e00:/#
gdb日志:
(gdb) r
Starting program: /usr/bin/glxgears
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV,Segmentation fault.
0x0000007fb78736a4 in ?? () from /usr/lib/aarch64-linux-gnu/libGLX_nvidia.so.0
(gdb)
为什么我只能在隔离模式下运行细分错误。也许除了/tmp/.X11-unix/:/tmp/.X11-unix
作为旁注,主机正在运行yocto(带有dunfell-l4t-r32.4.3分支的Meta-tegra)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)