On 14/03/2017 5:03 PM, Takao, Shinji wrote:
Hi all,

I encountered an unintentional process abort with SIGSEGV
when a Java process received a SIGUSR2.

I was little surprised because I believed that the SIGUSR2
was to be ignored when it had no user definition.

Is there any documentation for the behavior?

SIGUSR2 is used by the VM on Linux (and some other OS) to implement a suspend/resume protocol used by the event framework. It is not available for direct use. If you need to use it then you can change the SR_signum value by setting an env var:

 _JAVA_SR_SIGNUM=n

Documention is somewhat lacking - but better in JDK 9.

David
-----


#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fca804a40a2, pid=2137, tid=0x00007fca81949740
#
# JRE version: OpenJDK Runtime Environment (8.0_121-b13) (build 1.8.0_121-b13)
# Java VM: OpenJDK 64-Bit Server VM (25.121-b13 mixed mode linux-amd64 
compressed oops)
# Problematic frame:
# V  [libjvm.so+0x8700a2]
#
# Core dump written. Default location: /xxx/xxx/core or core.2137
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread is native thread

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 
0x0000000000000110



Best regards,
Shinji


Reply via email to