Eclipse constantly segfaults in GDB-Collection of common programming errors
While figuring out why Eclipse has been crashing on me, I tried to start eclipse and attach GDB to the eclipse java process. However, almost as soon as I attached GDB and told it to continue, there has been a constant stream of segfaults, almost immediately after I continue. This is part of it:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f445879d700 (LWP 22968)]
0x00007f445739b3f4 in JVM_NewInstanceFromConstructor () from /usr/java/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so
(gdb) bt
#0 0x00007f445739b3f4 in JVM_NewInstanceFromConstructor () from /usr/java/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so
#1 0x00007f444d012698 in ?? ()
#2 0x00000000f6031d10 in ?? ()
#3 0x00000000f6031cf8 in ?? ()
#4 0x00007f44587999b0 in ?? ()
#5 0x0000000000000000 in ?? ()
(gdb) c
Continuing.
[Thread 0x7f43d2a0f700 (LWP 23085) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f43d211c700 (LWP 23111)]
0x00007f44570c86a4 in ThreadInVMfromJava::~ThreadInVMfromJava() () from /usr/java/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so
(gdb)
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x00007f445736e6fc in jni_ReleasePrimitiveArrayCritical () from /usr/java/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so
(gdb)
Continuing.
[Thread 0x7f43d211c700 (LWP 23111) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f43d280d700 (LWP 23087)]
0x00007f44570c86a4 in ThreadInVMfromJava::~ThreadInVMfromJava() () from /usr/java/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so
(gdb)
Continuing.
[New Thread 0x7f43d211c700 (LWP 23174)]
The strange thing is that Eclipse seems to continue running perfectly fine while all these segfaults are occurring. I do not see any segfaults in Eclipse’s error log nor in dmesg. Does anybody know why this is happening, why Eclipse continues running despite the segfaults, and if it is something that needs to be fixed? I am also curious how a program can continue to run despite receiving a segfault, though I assume a signal handler is probably consuming the signal and preventing the program from exiting.