Ken,
Thanks for you quick response. Unfortunately, the issue is that we are using the JOGL code as part of C++/Java application through a JNI. What appears to be happening is that the graphics card driver is handling the SIGSEGV in such a way that it does not cause the application to exit. Since we have defined our own C++ signal handlers, our C++ native code captures and handles these signals. We have run a Java program with the same C++ JNI but without JOGL code and we do not see SIGSEGVs happening. I also have tried to put in some signal handling into my java code by implementing my own SignalHandler but java won’t let me override a SIGSEGV or a SIGFPE. I get an error:
java.lang.IllegalArgumentException: Signal already used by VM: SIGSEGV
Do you expect these kinds of exceptions to be raised from a JOGL program? One thing to note, we were using C++ and OpenGL directly and did not run into these issues. It seems to be specific to JOGL and java.
The traces aren’t that useful either:
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1458390112 (LWP 7057)]
(gdb) backtrace
#0 0xad062f84 in ?? ()
#1 0x3f800000 in ?? ()
#2 0x3f800000 in ?? ()
#3 0x3f800000 in ?? ()
#4 0x3f800000 in ?? ()
#5 0x00001d80 in ?? ()
#6 0x00001f80 in ?? ()
#7 0xa912a6b8 in ?? ()
#8 0xad062e81 in ?? ()
#9 0x00000008 in ?? ()
#10 0xad062a93 in ?? ()
#11 0xa912a530 in ?? ()
#12 0xa912a678 in ?? ()
#13 0xa912a67c in ?? ()
#14 0x008548a1 in malloc_consolidate () from /lib/tls/libc.so.6
(gdb) cont
< then continues for a little while>
Program received signal SIGSEGV, Segmentation fault.
0xb5de17cc in ?? ()
(gdb) backtrace
#0 0xb5de17cc in ?? ()
#1 0xb5dd9b9c in ?? ()
#2 0xae187430 in ?? ()
#3 0xb5dd5d22 in ?? ()
#4 0xae199228 in ?? ()
#5 0x00000003 in ?? ()
#6 0xa912acc8 in ?? ()
#7 0xa912acc8 in ?? ()
#8 0xadd3ece0 in ?? ()
#9 0xadd3eca8 in ?? ()
#10 0xadd3eca8 in ?? ()
#11 0xa912acfc in ?? ()
#12 0xadd3eca8 in ?? ()
#13 0xae191f28 in ?? ()
#14 0xae199228 in ?? ()
#15 0xae199228 in ?? ()
#16 0x08261c00 in ?? ()
#17 0x00000000 in ?? ()
Thanks for your help,
Nisha