Unintentional abort with SIGUSR2

David Holmes david.holmes at oracle.com
Tue Mar 14 07:56:49 UTC 2017


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
>
>


More information about the core-libs-dev mailing list