RFR 8058113 Execution of OnOutOfMemoryError command hangs on linux-sparc
gerald.thornbrugh at oracle.com
Tue Feb 3 15:34:24 UTC 2015
I did document the tests I ran in my original email. I ran JDK7u JPRT test on all the
standard platforms including Linux/Sparc. I ran the standard Aurora regression test
on the standard platforms. I also did unit testing on Linux/Sparc and Linux/x64.
Let me know if you have any other questions.
Thanks for the review.
> Looks good to me.
> What tests did you run and were able to validate the test cases exercise the code path.
> -----Original Message-----
> From: Gerald Thornbrugh
> Sent: Monday, February 02, 2015 4:42 PM
> To: Daniel Daugherty
> Cc: hotspot-runtime-dev at openjdk.java.net
> Subject: Re: RFR 8058113 Execution of OnOutOfMemoryError command hangs on linux-sparc
> Hi Dan,
> Thanks for the review.
>> On 2/2/15 4:21 PM, Gerald Thornbrugh wrote:
>>> 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.
>> No comments.
>> Thumbs up.
>>> 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
>>> 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