The GitHub Actions job "CI" on 
grails-core.git/fix/flaky-running-application-process-timeout has failed.
Run started by GitHub user borinquenkid (triggered by borinquenkid).

Head commit for run:
3811fcefc763c15993095c39c5b2eae11043bfa7 / Walter Duque de Estrada 
<[email protected]>
Poll ProcessHandle.isAlive(), not Process.isAlive(), in the reaper-lag fix

The prior commit's rationale was wrong: java.lang.Process#isAlive() is
implemented as `!hasExited`, a flag set only when the same async
ProcessHandleImpl reaper-thread completion that backs waitFor() and
onExit() resolves (confirmed against the JDK 21 source for ProcessImpl/
ProcessHandleImpl). It is not a live OS query, so polling it with
PollingConditions still depends on that reaper notification landing -
it just widens the budget from 10s to 30s rather than removing the
dependency.

process.toHandle().isAlive() delegates to ProcessHandleImpl's native
isAlive0(), which queries the OS process table directly on every call -
the same mechanism RunningApplicationProcess.awaitExit()'s fallback
relies on. Poll that instead so the assertion is genuinely immune to
reaper lag, regardless of how generous the timeout is.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

Report URL: https://github.com/apache/grails-core/actions/runs/30675864888

With regards,
GitHub Actions via GitBox

Reply via email to