RFR 10: 8184808 (process) isAlive should use pid for validity, not /proc/pid

Felix Yang felix.yang at oracle.com
Wed Jul 19 04:27:25 UTC 2017


Hi Roger,

      is it necessary to add the bug id to OnExitTest?

-Felix
On 2017/7/19 2:46, Roger Riggs wrote:
> Please review a fix for an intermittent failure in the ProcessHandle 
> OnExitTest
> that fails frequently on Solaris.
>
> ProcessHandle.isAlive is using /proc/pid/psinfo to determine if a 
> process is alive and it's start time.
> However, it appears that the between the process exiting and the 
> reaping of its status, the
> psinfo file indicates the process is alive but kill(pid, 0) reports 
> that is is not alive.
> Depending on a race, the ProcessHandler.onExit may determine the 
> process has exited
> but later isAlive may report it is alive.
>
> To have a consistent view of the process being alive, 
> ProcessHandle.isAlive in its native implementation
> should use kill(pid, 0) to determine if the process is definitively 
> determine if the process alive.
>
> The original issue[1] will be kept open until it is known that it is 
> resolved.
>
> Webrev:
>   http://cr.openjdk.java.net/~rriggs/webrev-alive-solaris-8184808/
>
> Issue:
>    https://bugs.openjdk.java.net/browse/JDK-8184808
>
> Thanks, Roger
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8177932
>
>



More information about the core-libs-dev mailing list