NVIDIA / VisRTX

NVIDIA OptiX based implementation of ANARI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Debugging VisRTX?

rgrunbla opened this issue · comments

Hello,
I'm trying to compile and use VisRTX on Linux (Archlinux, up-to-date), but I'm having trouble launching the provided programs (e.g. visRtxSampleBasic). A window opens, then closes, and the attached message is output. Graphic card is a Quadro M1200 Mobile, and log is attached.

How should I start to find out what is the issue?

Thanks,
Rémy

Log:

 user@Machine ~/VisRTX/build (git)-[master] % ./visRtxSampleBasic
 VisRTX 0.1.6, using devices:
 0: Quadro M1200 (Total: 4.2 GB, Available: 4.2 GB)
[1]    4331 segmentation fault (core dumped)  ./visRtxSampleBasic
 user@Machine ~/VisRTX/build (git)-[master] % 

lspci | grep nvidia: 01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1200 Mobile] (rev a2)

Nvidia version: 435.21-4

GDB:

% gdb ./visRtxSampleBasic 
GNU gdb (GDB) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./visRtxSampleBasic...
(gdb) r
Starting program: /home/user/VisRTX/build/visRtxSampleBasic 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffeec00700 (LWP 4588)]
[New Thread 0x7fffe7fff700 (LWP 4589)]
[New Thread 0x7fffe77fe700 (LWP 4590)]
[New Thread 0x7fffe6ffd700 (LWP 4591)]
[New Thread 0x7fffe67fc700 (LWP 4592)]
[New Thread 0x7fffe5ffb700 (LWP 4593)]
[New Thread 0x7fffe57fa700 (LWP 4594)]
[New Thread 0x7fffe4ff9700 (LWP 4595)]
[New Thread 0x7fffe47f8700 (LWP 4596)]
[New Thread 0x7fffe3ff7700 (LWP 4597)]
[New Thread 0x7fffe37f6700 (LWP 4598)]
[New Thread 0x7fffe2ff5700 (LWP 4599)]
[New Thread 0x7fffe27f4700 (LWP 4600)]
[New Thread 0x7fffe1ff3700 (LWP 4601)]
[New Thread 0x7fffe17f2700 (LWP 4602)]
[New Thread 0x7fffe0ff1700 (LWP 4603)]
[New Thread 0x7fff97fff700 (LWP 4604)]
VisRTX 0.1.6, using devices:
[New Thread 0x7fff977fe700 (LWP 4605)]
[New Thread 0x7fff96ffd700 (LWP 4606)]
[Thread 0x7fff96ffd700 (LWP 4606) exited]
[Thread 0x7fff977fe700 (LWP 4605) exited]
 0: Quadro M1200 (Total: 4.2 GB, Available: 4.2 GB)
[New Thread 0x7fff977fe700 (LWP 4607)]
[New Thread 0x7fff96ffd700 (LWP 4608)]
[New Thread 0x7fff95c0e700 (LWP 4609)]
[New Thread 0x7fff9540d700 (LWP 4610)]
[New Thread 0x7fff94c0c700 (LWP 4611)]
[New Thread 0x7fff6c826700 (LWP 4612)]
[New Thread 0x7fff6c025700 (LWP 4613)]
[New Thread 0x7fff6b824700 (LWP 4614)]
[New Thread 0x7fff6b023700 (LWP 4615)]
[New Thread 0x7fff6a822700 (LWP 4616)]

Thread 16 "visRtxSampleBas" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe17f2700 (LWP 4602)]
0x00007ffff103be66 in ?? () from /usr/lib/libnvoptix.so.1
(gdb) bt
#0  0x00007ffff103be66 in ?? () from /usr/lib/libnvoptix.so.1
#1  0x00007ffff1040bc9 in ?? () from /usr/lib/libnvoptix.so.1
#2  0x00007ffff1320767 in ?? () from /usr/lib/libnvoptix.so.1
#3  0x00007ffff132004e in ?? () from /usr/lib/libnvoptix.so.1
#4  0x00007ffff1320bdf in ?? () from /usr/lib/libnvoptix.so.1
#5  0x00007ffff12b7ec1 in ?? () from /usr/lib/libnvoptix.so.1
#6  0x00007ffff12b87e6 in ?? () from /usr/lib/libnvoptix.so.1
#7  0x00007ffff12c365b in ?? () from /usr/lib/libnvoptix.so.1
#8  0x00007ffff0aa8a98 in ?? () from /usr/lib/libnvoptix.so.1
#9  0x00007ffff0aada8f in ?? () from /usr/lib/libnvoptix.so.1
#10 0x00007ffff0ad18dd in ?? () from /usr/lib/libnvoptix.so.1
#11 0x00007ffff0ad3f3e in ?? () from /usr/lib/libnvoptix.so.1
#12 0x00007ffff0ad5756 in ?? () from /usr/lib/libnvoptix.so.1
#13 0x00007ffff0a06469 in ?? () from /usr/lib/libnvoptix.so.1
#14 0x00007ffff0ae4e2b in ?? () from /usr/lib/libnvoptix.so.1
#15 0x00007ffff0ae8cb5 in ?? () from /usr/lib/libnvoptix.so.1
#16 0x00007ffff0ae8e8d in ?? () from /usr/lib/libnvoptix.so.1
#17 0x00007ffff0ae90a8 in ?? () from /usr/lib/libnvoptix.so.1
#18 0x00007ffff18fce0f in ?? () from /usr/lib/libnvoptix.so.1
#19 0x00007ffff792b57f in start_thread () from /usr/lib/libpthread.so.0
#20 0x00007ffff70bd0e3 in clone () from /usr/lib/libc.so.6
(gdb) 

Hey,

which version of OptiX are you running? And where did it come from (since its in /usr/lib)?

Can you download the OptiX 6.5 SDK and try if the precompiled samples work for you?

Thanks,
Tim

Hey,
I'm running version 6.0.0.25650775-1, manually moved into /usr/lib (well not manually but using an AUR package). I'll check with 6.5 tonight, thanks for the advice.

Using 6.5.0, I still get the same behaviour with VisRTX. Using precompiled samples, it sometimes works (for example, optixSphere) but sometimes does not:

SDK-precompiled-samples % ./optixParticles
OptiX Error: 'Unknown error (Details: Function "RTresult _rtBufferCreateFromGLBO(RTcontext, unsigned int, unsigned int, RTbuffer_api**)" caught exception: Encountered a CUDA error: cuGLGetDevices returned (999): Unknown)'

The /usr/lib/libnvoptix.so.1 file comes from the "nvidia-utils" package of Archlinux, which is a dependency of the driver.

Is it possible you have some GPU switching in your laptop, like Optimus?

If this is the case, try to disable the internal GPU and force running the OptiX/OpenGL app on the dedicated card.

Yes, indeed, it was the culprit. Now, everything works, thanks (precompiled binaries, as well as recompiled VisRTX :) ).

Thanks!