Native Applications Using Java VM Receive SIGSEGV Signals Frequently When Run in Debugger (Doc ID 1380630.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle Solaris Studio - Version Forte Developer 6 Update 2 to 12.3 [Release 6.0 to 12]
Java Platform, Standard Edition - Version 1.3.1 to 7 [Release 1.3 to 7]
Linux x86
Oracle Solaris on x86 (32-bit)
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on x86-64 (64-bit)
Linux x86-64
Oracle Solaris on SPARC (32-bit)
OpenSolaris
This document applies to Unix-like operating systems that use signals.

Symptoms

Native applications that use the Java Virtual Machine (JVM) JNI interface can see frequent SIGSEGV signals when run under control of a debugging tool like gdb.

Every time a SIGSEGV signal is encountered, the execution of the process is interrupted.  The debugger breaks into the command prompt, after which the following message is printed:

Program received signal SIGSEGV, Segmentation fault.

Execution can be resumed by entering the continue command.  This applies to both the gdb and dbx debuggers.  There are no hs_err_pid.log files nor core files created.

Here is an example of a gdb session, running the application 'myapplication':

gdb ./myapplication
gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5_6.2)
[ ... ]
Reading symbols from /root/myapplication ...(no debugging symbols found) ...done.
(gdb) run 271 -t=1
Init> Configuration of the logger API
Init> JAVA VERSION=1.6.0_17
Init> JAVA_HOME=/usr/java/jdk1.6.0_17
Init> btrace file init
[New Thread 0x43825940 (LWP 30549)]

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab8077885 in ?? ()
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab80b7d64 in ?? ()
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab80d70fa in ?? ()
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab80ca830 in ?? ()
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab80ef574 in ?? ()
(gdb)

[ ... ]

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms