RFR 8058113 Execution of OnOutOfMemoryError command hangs on linux-sparc

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Feb 2 23:25:30 UTC 2015


On 2/2/15 4:21 PM, Gerald Thornbrugh wrote:
> Hi,
>
> 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.
>
> Webrev: 
> http://cr.openjdk.java.net/~dcubed/gthornbr/8058113-webrev/5-for-jdk7u/

src/os/linux/vm/os_linux.cpp
     No comments.

Thumbs up.

Dan


>
> 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.
>
> Thanks,
>
> Gerald



More information about the hotspot-runtime-dev mailing list