RFR 8058113 Execution of OnOutOfMemoryError command hangs on linux-sparc

Gerald Thornbrugh gerald.thornbrugh at oracle.com
Mon Feb 2 23:21:52 UTC 2015


Please review my JDK7u change for JDK-8058113, "Execution of 
OnOutOfMemoryError command hangs on linux-sparc"

The linux fork_and_exec() function in os_linux.cpp requires that a call 
be made directly to "syscall(fork)" to
stay multi-thread safe.  The linux/sparc version of "syscall(fork)" 
returns the "is_child" flag in a register that
is used to determine if the current thread is the child thread. This 
change creates the function sparc_fork()
that uses the correct assembly code to call the linux/sparc version of 
"syscall(fork)" and returns the process
id and "is child" flag.


It was determined that this fix should not be putback into JDK8 or 
JDK9.  A bug will be filed to look into
a better way of doing a multi-thread safe "fork and exec" for all linux 
platforms in JDK8 and JDK9.

I have completed JPRT and Aurora test runs on all platforms including 32 
and 64 bit linux platforms without issues.
I have also completed JDK7u JPRT testing on linux/sparc 64 bit platforms 
without issues.
I also ran the OnOutOfMemoryError test on linux/sparc 64 bit platform 
and the fix addressed the issue.



More information about the hotspot-runtime-dev mailing list