I whittled a crash case down to two totally trivial shaders. When in the same spv module, the nv driver crashes in glSpecializeShader.
Anyone clue me in on what I’m doing wrong? Hard to believe something this simple is an actual driver bug. I’ve mucked around with the shader a great deal, and the presence of the second degree OpAccessChain to tesc’s gl_out is what crashes it. I.e., gl_out[gl_InvocationID].Position causes the crash, but gl_out[gl_InvocationID] does not.
Can you please confirm if this can be considered as repro, if not, please let me know your configuration details (attach nvidia bug report) so that I can try to match and reattempt for repro.
I used below command to create executable file-
clang++ segfault.cxx -lGL -ldl gl3w.c -lsfml-system -lsfml-window -lsfml-graphics -o segfault
After looking at stack trace, it loks like I am hitting the same error.
(gdb) run
Starting program: /home/amrits/43f0bb087692e42f4f884fb371c8a786-9d324dc8c41aae5a3b63cef44461d798fce60a07/segfault
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/usr/lib/libthread_db.so.1”.
1
program.spv: 1908 bytes
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff535da54 in ?? () from /usr/lib/libnvidia-glcore.so.450.57
(gdb) where #0 0x00007ffff535da54 in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #1 0x00007ffff5367895 in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #2 0x00007ffff5367b8f in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #3 0x00007ffff5367d52 in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #4 0x00007ffff5367f0a in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #5 0x00007ffff525f657 in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #6 0x00007ffff525ff27 in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #7 0x00007ffff5c24692 in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #8 0x00007ffff5c2844e in ?? () from /usr/lib/libnvidia-glcore.so.450.57 #9 0x0000555555559966 in main ()
(gdb)
[amrits@archbox-amrits ~]$
What is the status of this issue? I appear to be hitting it as well, but on a fragment shader.
#0 0x00007ffff5ecdae7 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.535.161.07
#1 0x00007ffff482e548 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.535.161.07
#2 0x00007ffff5ec9687 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.535.161.07
#3 0x00007ffff5ecbe9e in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.535.161.07
#4 0x00007ffff574782c in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.535.161.07
#5 0x00007ffff57488c2 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.535.161.07